X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fproto.h;h=be2de47d1e804f9b80b20d4bf6ee7758dce79327;hp=7769f628cfde40f73acc3e37dabae7c824a7eb9e;hb=72592d242326dea9e05cae90d50348a2da0c0948;hpb=6295998029aa62f64729e15d4a7ffb0038045d78 diff --git a/include/proto.h b/include/proto.h index 7769f62..be2de47 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,7 +24,31 @@ * OF THIS SOFTWARE. * * $Log: proto.h,v $ - * Revision 1.13 1995-06-07 14:36:47 quinn + * Revision 1.21 1995-08-15 12:00:11 quinn + * Updated External + * + * Revision 1.20 1995/08/10 08:54:35 quinn + * Added Explain. + * + * Revision 1.19 1995/06/19 12:38:28 quinn + * Reorganized include-files. Added small features. + * + * Revision 1.18 1995/06/16 13:16:05 quinn + * Fixed Defaultdiagformat. + * + * Revision 1.17 1995/06/15 15:42:05 quinn + * Fixed some v3 bugs + * + * Revision 1.16 1995/06/15 07:45:06 quinn + * Moving to v3. + * + * Revision 1.15 1995/06/14 15:26:43 quinn + * *** empty log message *** + * + * Revision 1.14 1995/06/07 14:42:34 quinn + * Fixed CLOSE + * + * Revision 1.13 1995/06/07 14:36:47 quinn * Added CLOSE * * Revision 1.12 1995/06/05 10:53:13 quinn @@ -102,14 +126,28 @@ #include #include #include +#include + +/* + * Because we didn't have time to put all of the extra v3 elements in here + * before the first applications were written, we have to place them + * in #ifdefs in places where they would break existing code. If you are + * developing new stuff, we urge you to leave them in, even if you don't + * intend to use any v3 features. When we are comfortable that the old + * apps have been updated, we'll remove the #ifdefs. + */ + +#define Z_95 /* ----------------- GLOBAL AUXILIARY DEFS ----------------*/ +struct Z_External; +typedef struct Z_External Z_External; + typedef Odr_oct Z_ReferenceId; typedef char Z_DatabaseName; typedef char Z_ResultSetId; typedef Odr_oct Z_ResultsetId; -typedef Odr_external Z_UserInformationField; typedef struct Z_InfoCategory { @@ -131,7 +169,7 @@ typedef struct Z_OtherInformationUnit { char *characterInfo; Odr_oct *binaryInfo; - Odr_external *externallyDefinedInfo; + Z_External *externallyDefinedInfo; Odr_oid *oid; } information; } Z_OtherInformationUnit; @@ -170,6 +208,8 @@ typedef struct Z_IntUnit Z_Unit *unitUsed; } Z_IntUnit; +typedef Odr_oct Z_SUTRS; + /* ----------------- INIT SERVICE ----------------*/ typedef struct @@ -193,56 +233,62 @@ typedef struct Z_IdAuthentication char *open; Z_IdPass *idPass; Odr_null *anonymous; - Odr_external *other; + Z_External *other; } u; } Z_IdAuthentication; -#define Z_ProtocolVersion_1 0 -#define Z_ProtocolVersion_2 1 -#define Z_ProtocolVersion_3 2 - -#define Z_Options_search 0 -#define Z_Options_present 1 -#define Z_Options_delSet 2 -#define Z_Options_resourceReport 3 -#define Z_Options_triggerResourceCtrl 4 -#define Z_Options_resourceCtrl 5 -#define Z_Options_accessCtrl 6 -#define Z_Options_scan 7 -#define Z_Options_sort 8 -#define Z_Options_reserved 9 -#define Z_Options_extendedServices 10 -#define Z_Options_level_1Segmentation 11 -#define Z_Options_level_2Segmentation 12 -#define Z_Options_concurrentOperations 13 -#define Z_Options_namedResultSets 14 +#define Z_ProtocolVersion_1 0 +#define Z_ProtocolVersion_2 1 +#define Z_ProtocolVersion_3 2 + +#define Z_Options_search 0 +#define Z_Options_present 1 +#define Z_Options_delSet 2 +#define Z_Options_resourceReport 3 +#define Z_Options_triggerResourceCtrl 4 +#define Z_Options_resourceCtrl 5 +#define Z_Options_accessCtrl 6 +#define Z_Options_scan 7 +#define Z_Options_sort 8 +#define Z_Options_reserved 9 +#define Z_Options_extendedServices 10 +#define Z_Options_level_1Segmentation 11 +#define Z_Options_level_2Segmentation 12 +#define Z_Options_concurrentOperations 13 +#define Z_Options_namedResultSets 14 typedef struct Z_InitRequest { Z_ReferenceId *referenceId; /* OPTIONAL */ - Odr_bitmask *options; Odr_bitmask *protocolVersion; + Odr_bitmask *options; int *preferredMessageSize; int *maximumRecordSize; Z_IdAuthentication* idAuthentication; /* OPTIONAL */ char *implementationId; /* OPTIONAL */ char *implementationName; /* OPTIONAL */ char *implementationVersion; /* OPTIONAL */ - Z_UserInformationField *userInformationField; /* OPTIONAL */ + Z_External *userInformationField; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; /* OPTIONAL */ +#endif } Z_InitRequest; typedef struct Z_InitResponse { Z_ReferenceId *referenceId; /* OPTIONAL */ - Odr_bitmask *options; Odr_bitmask *protocolVersion; + Odr_bitmask *options; int *preferredMessageSize; int *maximumRecordSize; bool_t *result; char *implementationId; /* OPTIONAL */ char *implementationName; /* OPTIONAL */ char *implementationVersion; /* OPTIONAL */ - Z_UserInformationField *userInformationField; /* OPTIONAL */ + Z_External *userInformationField; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; /* OPTIONAL */ +#endif } Z_InitResponse; typedef struct Z_NSRAuthentication @@ -256,44 +302,8 @@ int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt); int z_StrAuthentication(ODR o, char **p, int opt); - -/* ------------------ RESOURCE CONTROL ----------------*/ - -typedef struct Z_TriggerResourceControlRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *requestedAction; -#define Z_TriggerResourceCtrl_resourceReport 1 -#define Z_TriggerResourceCtrl_resourceControl 2 -#define Z_TriggerResourceCtrl_cancel 3 - Odr_oid *prefResourceReportFormat; /* OPTIONAL */ - bool_t *resultSetWanted; /* OPTIONAL */ -} Z_TriggerResourceControlRequest; - -typedef struct Z_ResourceControlRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - bool_t *suspendedFlag; /* OPTIONAL */ - Odr_external *resourceReport; /* OPTIONAL */ - int *partialResultsAvailable; /* OPTIONAL */ -#define Z_ResourceControlRequest_subset 1 -#define Z_ResourceControlRequest_interim 2 -#define Z_ResourceControlRequest_none 3 - bool_t *responseRequired; - bool_t *triggeredRequestFlag; /* OPTIONAL */ -} Z_ResourceControlRequest; - -typedef struct Z_ResourceControlResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - bool_t *continueFlag; - bool_t *resultSetWanted; /* OPTIONAL */ -} Z_ResourceControlResponse; - /* ------------------ SEARCH SERVICE ----------------*/ -typedef Odr_oid Z_PreferredRecordSyntax; - typedef struct Z_DatabaseSpecificUnit { char *databaseName; @@ -320,15 +330,36 @@ typedef struct Z_ElementSetNames /* ---------------------- RPN QUERY --------------------------- */ +typedef struct Z_ComplexAttribute +{ + int num_list; + Z_StringOrNumeric **list; + int num_semanticAction; + int **semanticAction; /* OPTIONAL */ +} Z_ComplexAttribute; + typedef struct Z_AttributeElement { +#ifdef Z_95 + Odr_oid *attributeSet; /* OPTIONAL - v3 only */ +#endif int *attributeType; +#ifdef Z_95 + enum + { + Z_AttributeValue_numeric, + Z_AttributeValue_complex + } which; + union + { + int *numeric; + Z_ComplexAttribute *complex; + } value; +#else int *attributeValue; +#endif } Z_AttributeElement; -#define Z_V3 -#ifdef Z_V3 - typedef struct Z_Term { enum @@ -349,25 +380,26 @@ typedef struct Z_Term char *characterString; Odr_oid *oid; char *dateTime; - Odr_external *external; + Z_External *external; /* Z_IntUnit *integerAndUnit; */ Odr_null *null; } u; } Z_Term; -#endif - typedef struct Z_AttributesPlusTerm { int num_attributes; Z_AttributeElement **attributeList; -#ifdef Z_V3 Z_Term *term; -#else - Odr_oct *term; -#endif } Z_AttributesPlusTerm; +typedef struct Z_ResultSetPlusAttributes +{ + char *resultSet; + int num_attributes; + Z_AttributeElement **attributeList; +} Z_ResultSetPlusAttributes; + typedef struct Z_ProximityOperator { bool_t *exclusion; /* OPTIONAL */ @@ -419,13 +451,17 @@ typedef struct Z_Operator typedef struct Z_Operand { - int which; -#define Z_Operand_APT 0 -#define Z_Operand_resultSetId 1 + enum + { + Z_Operand_APT, + Z_Operand_resultSetId, + Z_Operand_resultAttr /* v3 only */ + } which; union { Z_AttributesPlusTerm *attributesPlusTerm; Z_ResultSetId *resultSetId; + Z_ResultSetPlusAttributes *resultAttr; } u; } Z_Operand; @@ -438,9 +474,11 @@ typedef struct Z_Complex typedef struct Z_RPNStructure { - int which; -#define Z_RPNStructure_simple 0 -#define Z_RPNStructure_complex 1 + enum + { + Z_RPNStructure_simple, + Z_RPNStructure_complex + } which; union { Z_Operand *simple; @@ -458,13 +496,18 @@ typedef struct Z_RPNQuery typedef struct Z_Query { - int which; -#define Z_Query_type_1 1 -#define Z_Query_type_2 2 + enum + { + Z_Query_type_1 = 1, + Z_Query_type_2, + Z_Query_type_101 + } + which; union { Z_RPNQuery *type_1; Odr_oct *type_2; + Z_RPNQuery *type_101; } u; } Z_Query; @@ -480,27 +523,74 @@ typedef struct Z_SearchRequest char **databaseNames; Z_ElementSetNames *smallSetElementSetNames; /* OPTIONAL */ Z_ElementSetNames *mediumSetElementSetNames; /* OPTIONAL */ - Z_PreferredRecordSyntax *preferredRecordSyntax; /* OPTIONAL */ + Odr_oid *preferredRecordSyntax; /* OPTIONAL */ Z_Query *query; +#ifdef Z_95 + Z_OtherInformation *additionalSearchInfo; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +#endif } Z_SearchRequest; /* ------------------------ RECORD -------------------------- */ -typedef Odr_external Z_DatabaseRecord; +typedef Z_External Z_DatabaseRecord; + +#ifdef Z_95 + +typedef struct Z_DefaultDiagFormat +{ + Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */ + int *condition; + /* until the whole character set issue becomes more definite, + * you can probably ignore this on input. */ + enum + { + Z_DiagForm_v2AddInfo, + Z_DiagForm_v3AddInfo + } which; + char *addinfo; +} Z_DefaultDiagFormat; + +typedef struct Z_DiagRec +{ + enum + { + Z_DiagRec_defaultFormat, + Z_DiagRec_externallyDefined + } which; + union + { + Z_DefaultDiagFormat *defaultFormat; + Z_External *externallyDefined; + } u; +} Z_DiagRec; + +#else typedef struct Z_DiagRec { - Odr_oid *diagnosticSetId; + Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */ int *condition; char *addinfo; } Z_DiagRec; +#endif + +typedef struct Z_DiagRecs +{ + int num_diagRecs; + Z_DiagRec **diagRecs; +} Z_DiagRecs; + typedef struct Z_NamePlusRecord { char *databaseName; /* OPTIONAL */ - int which; -#define Z_NamePlusRecord_databaseRecord 0 -#define Z_NamePlusRecord_surrogateDiagnostic 1 + enum + { + Z_NamePlusRecord_databaseRecord, + Z_NamePlusRecord_surrogateDiagnostic + } + which; union { Z_DatabaseRecord *databaseRecord; @@ -516,16 +606,182 @@ typedef struct Z_NamePlusRecordList typedef struct Z_Records { - int which; -#define Z_Records_DBOSD 0 -#define Z_Records_NSD 1 + enum + { + Z_Records_DBOSD, + Z_Records_NSD, + Z_Records_multipleNSD + } which; union { Z_NamePlusRecordList *databaseOrSurDiagnostics; Z_DiagRec *nonSurrogateDiagnostic; + Z_DiagRecs *multipleNonSurDiagnostics; } u; } Z_Records; +/* ------------------------ SEARCHRESPONSE ------------------ */ + +typedef struct Z_SearchResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *resultCount; + int *numberOfRecordsReturned; + int *nextResultSetPosition; + bool_t *searchStatus; + int *resultSetStatus; /* OPTIONAL */ +#define Z_RES_SUBSET 1 +#define Z_RES_INTERIM 2 +#define Z_RES_NONE 3 + int *presentStatus; /* OPTIONAL */ +#define Z_PRES_SUCCESS 0 +#define Z_PRES_PARTIAL_1 1 +#define Z_PRES_PARTIAL_2 2 +#define Z_PRES_PARTIAL_3 3 +#define Z_PRES_PARTIAL_4 4 +#define Z_PRES_FAILURE 5 + Z_Records *records; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *additionalSearchInfo; + Z_OtherInformation *otherInfo; +#endif +} Z_SearchResponse; + +/* ------------------------- PRESENT SERVICE -----------------*/ + +typedef struct Z_ElementSpec +{ + enum + { + Z_ElementSpec_elementSetName, + Z_ElementSpec_externalSpec + } which; + union + { + char *elementSetName; + Z_External *externalSpec; + } u; +} Z_ElementSpec; + +typedef struct Z_Specification +{ + Odr_oid *schema; /* OPTIONAL */ + Z_ElementSpec *elementSpec; /* OPTIONAL */ +} Z_Specification; + +typedef struct Z_DbSpecific +{ + char *databaseName; + Z_Specification *spec; +} Z_DbSpecific; + +typedef struct Z_CompSpec +{ + bool_t *selectAlternativeSyntax; + Z_Specification *generic; /* OPTIONAL */ + int num_dbSpecific; + Z_DbSpecific **dbSpecific; /* OPTIONAL */ + int num_recordSyntax; + Odr_oid **recordSyntax; /* OPTIONAL */ +} Z_CompSpec; + +typedef struct Z_RecordComposition +{ + enum + { + Z_RecordComp_simple, + Z_RecordComp_complex + } which; + union + { + Z_ElementSetNames *simple; + Z_CompSpec *complex; + } u; +} Z_RecordComposition; + +typedef struct Z_Range +{ + int *startingPosition; + int *numberOfRecords; +} Z_Range; + +typedef struct Z_PresentRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Z_ResultSetId *resultSetId; + int *resultSetStartPoint; + int *numberOfRecordsRequested; +#ifdef Z_95 + int num_ranges; + Z_Range **additionalRanges; /* OPTIONAL */ + Z_RecordComposition *recordComposition; /* OPTIONAL */ +#else + Z_ElementSetNames *elementSetNames; /* OPTIONAL */ +#endif + Odr_oid *preferredRecordSyntax; /* OPTIONAL */ +#ifdef Z_95 + int *maxSegmentCount; /* OPTIONAL */ + int *maxRecordSize; /* OPTIONAL */ + int *maxSegmentSize; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +#endif +} Z_PresentRequest; + +typedef struct Z_PresentResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *numberOfRecordsReturned; + int *nextResultSetPosition; + int *presentStatus; + Z_Records *records; +#ifdef Z_95 + Z_OtherInformation *otherInfo; /* OPTIONAL */ +#endif +} Z_PresentResponse; + +/* ------------------ RESOURCE CONTROL ----------------*/ + +typedef struct Z_TriggerResourceControlRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *requestedAction; +#define Z_TriggerResourceCtrl_resourceReport 1 +#define Z_TriggerResourceCtrl_resourceControl 2 +#define Z_TriggerResourceCtrl_cancel 3 + Odr_oid *prefResourceReportFormat; /* OPTIONAL */ + bool_t *resultSetWanted; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif +} Z_TriggerResourceControlRequest; + +typedef struct Z_ResourceControlRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + bool_t *suspendedFlag; /* OPTIONAL */ + Z_External *resourceReport; /* OPTIONAL */ + int *partialResultsAvailable; /* OPTIONAL */ +#define Z_ResourceControlRequest_subset 1 +#define Z_ResourceControlRequest_interim 2 +#define Z_ResourceControlRequest_none 3 + bool_t *responseRequired; + bool_t *triggeredRequestFlag; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif +} Z_ResourceControlRequest; + +typedef struct Z_ResourceControlResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + bool_t *continueFlag; + bool_t *resultSetWanted; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif +} Z_ResourceControlResponse; + + /* ------------------ ACCESS CTRL SERVICE ----------------*/ typedef struct Z_AccessControlRequest @@ -539,9 +795,9 @@ typedef struct Z_AccessControlRequest union { Odr_oct *simpleForm; - Odr_external *externallyDefined; + Z_External *externallyDefined; } u; -#ifdef Z_OTHERINFO +#ifdef Z_95 Z_OtherInformation *otherInfo; /* OPTIONAL */ #endif } Z_AccessControlRequest; @@ -557,10 +813,10 @@ typedef struct Z_AccessControlResponse union { Odr_oct *simpleForm; - Odr_external *externallyDefined; + Z_External *externallyDefined; } u; Z_DiagRec *diagnostic; /* OPTIONAL */ -#ifdef Z_OTHERINFO +#ifdef Z_95 Z_OtherInformation *otherInfo; /* OPTIONAL */ #endif } Z_AccessControlResponse; @@ -627,12 +883,6 @@ typedef struct Z_Entries Z_Entry **entries; } Z_Entries; -typedef struct Z_DiagRecs -{ - int num_diagRecs; - Z_DiagRec **diagRecs; -} Z_DiagRecs; - typedef struct Z_ListEntries { enum @@ -657,6 +907,9 @@ typedef struct Z_ScanRequest int *stepSize; /* OPTIONAL */ int *numberOfTermsRequested; int *preferredPositionInResponse; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif } Z_ScanRequest; typedef struct Z_ScanResponse @@ -675,51 +928,11 @@ typedef struct Z_ScanResponse int *positionOfTerm; /* OPTIONAL */ Z_ListEntries *entries; /* OPTIONAL */ Odr_oid *attributeSet; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif } Z_ScanResponse; -/* ------------------------ SEARCHRESPONSE ------------------ */ - -typedef struct Z_SearchResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *resultCount; - int *numberOfRecordsReturned; - int *nextResultSetPosition; - bool_t *searchStatus; - int *resultSetStatus; /* OPTIONAL */ -#define Z_RES_SUBSET 1 -#define Z_RES_INTERIM 2 -#define Z_RES_NONE 3 - int *presentStatus; /* OPTIONAL */ -#define Z_PRES_SUCCESS 0 -#define Z_PRES_PARTIAL_1 1 -#define Z_PRES_PARTIAL_2 2 -#define Z_PRES_PARTIAL_3 3 -#define Z_PRES_PARTIAL_4 4 -#define Z_PRES_FAILURE 5 - Z_Records *records; /* OPTIONAL */ -} Z_SearchResponse; - -/* ------------------------- PRESENT SERVICE -----------------*/ - -typedef struct Z_PresentRequest -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - Z_ResultSetId *resultSetId; - int *resultSetStartPoint; - int *numberOfRecordsRequested; - Z_ElementSetNames *elementSetNames; /* OPTIONAL */ - Z_PreferredRecordSyntax *preferredRecordSyntax; /* OPTIONAL */ -} Z_PresentRequest; - -typedef struct Z_PresentResponse -{ - Z_ReferenceId *referenceId; /* OPTIONAL */ - int *numberOfRecordsReturned; - int *nextResultSetPosition; - int *presentStatus; - Z_Records *records; -} Z_PresentResponse; /* ------------------------ DELETE -------------------------- */ @@ -749,7 +962,7 @@ typedef struct Z_DeleteResultSetRequest #define Z_DeleteRequest_all 1 int num_ids; Z_ResultSetId **resultSetList; /* OPTIONAL */ -#ifdef Z_OTHERINFO +#ifdef Z_95 Z_OtherInformation *otherInfo; #endif } Z_DeleteResultSetRequest; @@ -764,7 +977,7 @@ typedef struct Z_DeleteResultSetResponse int num_bulkStatuses; Z_ListStatus *bulkStatuses; /* OPTIONAL */ char *deleteMessage; /* OPTIONAL */ -#ifdef Z_OTHERINFO +#ifdef Z_95 Z_OtherInformation *otherInfo; #endif } Z_DeleteResultSetResponse; @@ -787,12 +1000,24 @@ typedef struct Z_Close #define Z_Close_unspecified 9 char *diagnosticInformation; /* OPTIONAL */ Odr_oid *resourceReportFormat; /* OPTIONAL */ - Odr_external *resourceReport; /* OPTIONAL */ -#ifdef Z_OTHERINFO + Z_External *resourceReport; /* OPTIONAL */ +#ifdef Z_95 Z_OtherInformation *otherInfo; /* OPTIONAL */ #endif } Z_Close; +/* ------------------------ SEGMENTATION -------------------- */ + +typedef struct Z_Segment +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *numberOfRecordsReturned; + int num_segmentRecords; + Z_NamePlusRecord **segmentRecords; + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_Segment; + + /* ------------------------ APDU ---------------------------- */ typedef struct Z_APDU @@ -812,6 +1037,7 @@ typedef struct Z_APDU Z_APDU_triggerResourceControlRequest, Z_APDU_scanRequest, Z_APDU_scanResponse, + Z_APDU_segmentRequest, Z_APDU_close } which; union @@ -829,11 +1055,13 @@ typedef struct Z_APDU Z_TriggerResourceControlRequest *triggerResourceControlRequest; Z_ScanRequest *scanRequest; Z_ScanResponse *scanResponse; + Z_Segment *segmentRequest; Z_Close *close; } u; } Z_APDU; int z_APDU(ODR o, Z_APDU **p, int opt); +int z_SUTRS(ODR o, Odr_oct **p, int opt); Z_InitRequest *zget_InitRequest(ODR o); Z_InitResponse *zget_InitResponse(ODR o); @@ -848,10 +1076,22 @@ Z_ScanResponse *zget_ScanResponse(ODR o); Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o); Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o); Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o); -Z_Close *zet_Close(ODR o); +Z_Close *zget_Close(ODR o); +int z_InternationalString(ODR o, char **p, int opt); +int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt); +int z_ElementSetName(ODR o, char **p, int opt); +int z_IntUnit(ODR o, Z_IntUnit **p, int opt); +int z_Unit(ODR o, Z_Unit **p, int opt); +int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt); +int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt); +int z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, int opt); +int z_Term(ODR o, Z_Term **p, int opt); +int z_Specification(ODR o, Z_Specification **p, int opt); Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which); #include #include +#include +#include #endif