X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fproto.h;h=2a323faba74a1be4526e92866cd86d77ddba1407;hp=cc4a1074d5c0bb7a42ad7c9399c405e9d4a91cea;hb=5fe647af23484842955ab7a7e26d0ab34e3c2b1c;hpb=657fb99115b87a5244e9a33bbe4ca3d9d18849c4 diff --git a/include/proto.h b/include/proto.h index cc4a107..2a323fa 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,7 +24,38 @@ * OF THIS SOFTWARE. * * $Log: proto.h,v $ - * Revision 1.25 1995-09-27 15:02:49 quinn + * Revision 1.35 1996-06-10 08:57:38 quinn + * Added OPAC, ResourceReport + * + * Revision 1.34 1996/06/10 08:55:36 quinn + * Added Summary. + * + * Revision 1.33 1996/02/23 10:00:51 quinn + * SCAN Work + * + * Revision 1.32 1996/02/20 12:52:39 quinn + * Various + * + * Revision 1.31 1996/01/22 09:46:45 quinn + * Added Sort PDU. Moved StringList to main protocol file. + * + * Revision 1.30 1996/01/10 15:21:32 quinn + * Added links to access control PDUs + * + * Revision 1.29 1996/01/02 11:46:49 quinn + * Changed 'operator' to 'roperator' to avoid C++ conflict. + * Moved to pl3 + * + * Revision 1.28 1996/01/02 08:57:32 quinn + * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass + * + * Revision 1.27 1995/10/12 10:34:46 quinn + * Added Espec-1. + * + * Revision 1.26 1995/09/29 17:12:08 quinn + * Smallish + * + * Revision 1.25 1995/09/27 15:02:49 quinn * Modified function heads & prototypes. * * Revision 1.24 1995/08/29 11:17:43 quinn @@ -171,13 +202,11 @@ typedef struct Z_InfoCategory typedef struct Z_OtherInformationUnit { Z_InfoCategory *category; /* OPTIONAL */ - enum - { - Z_OtherInfo_characterInfo, - Z_OtherInfo_binaryInfo, - Z_OtherInfo_externallyDefinedInfo, - Z_OtherInfo_oid - } which; + int which; +#define Z_OtherInfo_characterInfo 0 +#define Z_OtherInfo_binaryInfo 1 +#define Z_OtherInfo_externallyDefinedInfo 2 +#define Z_OtherInfo_oid 3 union { char *characterInfo; @@ -195,11 +224,9 @@ typedef struct Z_OtherInformation typedef struct Z_StringOrNumeric { - enum - { - Z_StringOrNumeric_string, - Z_StringOrNumeric_numeric - } which; + int which; +#define Z_StringOrNumeric_string 0 +#define Z_StringOrNumeric_numeric 1 union { char *string; @@ -223,6 +250,12 @@ typedef struct Z_IntUnit typedef Odr_oct Z_SUTRS; +typedef struct Z_StringList +{ + int num_strings; + char **strings; +} Z_StringList; + /* ----------------- INIT SERVICE ----------------*/ typedef struct @@ -234,13 +267,11 @@ typedef struct typedef struct Z_IdAuthentication { - enum - { - Z_IdAuthentication_open, - Z_IdAuthentication_idPass, - Z_IdAuthentication_anonymous, - Z_IdAuthentication_other - } which; + int which; +#define Z_IdAuthentication_open 0 +#define Z_IdAuthentication_idPass 1 +#define Z_IdAuthentication_anonymous 2 +#define Z_IdAuthentication_other 3 union { char *open; @@ -311,9 +342,9 @@ typedef struct Z_NSRAuthentication char *account; } Z_NSRAuthentication; -int MDF z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt); +int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt); -int MDF z_StrAuthentication(ODR o, char **p, int opt); +int z_StrAuthentication(ODR o, char **p, int opt); /* ------------------ SEARCH SERVICE ----------------*/ @@ -358,11 +389,9 @@ typedef struct Z_AttributeElement #endif int *attributeType; #ifdef Z_95 - enum - { - Z_AttributeValue_numeric, - Z_AttributeValue_complex - } which; + int which; +#define Z_AttributeValue_numeric 0 +#define Z_AttributeValue_complex 1 union { int *numeric; @@ -375,17 +404,15 @@ typedef struct Z_AttributeElement typedef struct Z_Term { - enum - { - Z_Term_general, - Z_Term_numeric, - Z_Term_characterString, - Z_Term_oid, - Z_Term_dateTime, - Z_Term_external, - Z_Term_integerAndUnit, - Z_Term_null - } which; + int which; +#define Z_Term_general 0 +#define Z_Term_numeric 1 +#define Z_Term_characterString 2 +#define Z_Term_oid 3 +#define Z_Term_dateTime 4 +#define Z_Term_external 5 +#define Z_Term_integerAndUnit 6 +#define Z_Term_null 7 union { Odr_oct *general; /* this is required for v2 */ @@ -425,11 +452,9 @@ typedef struct Z_ProximityOperator #define Z_Prox_greaterThanOrEqual 4 #define Z_Prox_greaterThan 5 #define Z_Prox_notEqual 6 - enum - { - Z_ProxCode_known, - Z_ProxCode_private - } which; + int which; +#define Z_ProxCode_known 0 +#define Z_ProxCode_private 1 int *proximityUnitCode; #define Z_ProxUnit_character 1 #define Z_ProxUnit_word 2 @@ -446,13 +471,11 @@ typedef struct Z_ProximityOperator typedef struct Z_Operator { - enum - { - Z_Operator_and, - Z_Operator_or, - Z_Operator_and_not, - Z_Operator_prox - } which; + int which; +#define Z_Operator_and 0 +#define Z_Operator_or 1 +#define Z_Operator_and_not 2 +#define Z_Operator_prox 3 union { Odr_null *and; /* these guys are nulls. */ @@ -464,12 +487,10 @@ typedef struct Z_Operator typedef struct Z_Operand { - enum - { - Z_Operand_APT, - Z_Operand_resultSetId, - Z_Operand_resultAttr /* v3 only */ - } which; + int which; +#define Z_Operand_APT 0 +#define Z_Operand_resultSetId 1 +#define Z_Operand_resultAttr /* v3 only */ 2 union { Z_AttributesPlusTerm *attributesPlusTerm; @@ -482,16 +503,14 @@ typedef struct Z_Complex { struct Z_RPNStructure *s1; struct Z_RPNStructure *s2; - Z_Operator *operator; + Z_Operator *roperator; } Z_Complex; typedef struct Z_RPNStructure { - enum - { - Z_RPNStructure_simple, - Z_RPNStructure_complex - } which; + int which; +#define Z_RPNStructure_simple 0 +#define Z_RPNStructure_complex 1 union { Z_Operand *simple; @@ -509,13 +528,10 @@ typedef struct Z_RPNQuery typedef struct Z_Query { - enum - { - Z_Query_type_1 = 1, - Z_Query_type_2, - Z_Query_type_101 - } - which; + int which; +#define Z_Query_type_1 1 +#define Z_Query_type_2 2 +#define Z_Query_type_101 3 union { Z_RPNQuery *type_1; @@ -556,21 +572,17 @@ typedef struct Z_DefaultDiagFormat 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; + int which; +#define Z_DiagForm_v2AddInfo 0 +#define Z_DiagForm_v3AddInfo 1 char *addinfo; } Z_DefaultDiagFormat; typedef struct Z_DiagRec { - enum - { - Z_DiagRec_defaultFormat, - Z_DiagRec_externallyDefined - } which; + int which; +#define Z_DiagRec_defaultFormat 0 +#define Z_DiagRec_externallyDefined 1 union { Z_DefaultDiagFormat *defaultFormat; @@ -598,12 +610,9 @@ typedef struct Z_DiagRecs typedef struct Z_NamePlusRecord { char *databaseName; /* OPTIONAL */ - enum - { - Z_NamePlusRecord_databaseRecord, - Z_NamePlusRecord_surrogateDiagnostic - } - which; + int which; +#define Z_NamePlusRecord_databaseRecord 0 +#define Z_NamePlusRecord_surrogateDiagnostic 1 union { Z_DatabaseRecord *databaseRecord; @@ -619,12 +628,10 @@ typedef struct Z_NamePlusRecordList typedef struct Z_Records { - enum - { - Z_Records_DBOSD, - Z_Records_NSD, - Z_Records_multipleNSD - } which; + int which; +#define Z_Records_DBOSD 0 +#define Z_Records_NSD 1 +#define Z_Records_multipleNSD 2 union { Z_NamePlusRecordList *databaseOrSurDiagnostics; @@ -664,11 +671,9 @@ typedef struct Z_SearchResponse typedef struct Z_ElementSpec { - enum - { - Z_ElementSpec_elementSetName, - Z_ElementSpec_externalSpec - } which; + int which; +#define Z_ElementSpec_elementSetName 0 +#define Z_ElementSpec_externalSpec 1 union { char *elementSetName; @@ -700,11 +705,9 @@ typedef struct Z_CompSpec typedef struct Z_RecordComposition { - enum - { - Z_RecordComp_simple, - Z_RecordComp_complex - } which; + int which; +#define Z_RecordComp_simple 0 +#define Z_RecordComp_complex 1 union { Z_ElementSetNames *simple; @@ -800,11 +803,9 @@ typedef struct Z_ResourceControlResponse typedef struct Z_AccessControlRequest { Z_ReferenceId *referenceId; /* OPTIONAL */ - enum - { - Z_AccessRequest_simpleForm, - Z_AccessRequest_externallyDefined - } which; + int which; +#define Z_AccessRequest_simpleForm 0 +#define Z_AccessRequest_externallyDefined 1 union { Odr_oct *simpleForm; @@ -818,11 +819,9 @@ typedef struct Z_AccessControlRequest typedef struct Z_AccessControlResponse { Z_ReferenceId *referenceId; /* OPTIONAL */ - enum - { - Z_AccessResponse_simpleForm, - Z_AccessResponse_externallyDefined - } which; + int which; +#define Z_AccessResponse_simpleForm 0 +#define Z_AccessResponse_externallyDefined 1 union { Odr_oct *simpleForm; @@ -848,15 +847,60 @@ typedef struct Z_AlternativeTerm Z_AttributesPlusTerm **terms; } Z_AlternativeTerm; +#if 1 + +typedef struct Z_ByDatabase +{ + char *db; + int *num; /* OPTIONAL */ + Z_OtherInformation *otherDbInfo; /* OPTIONAL */ +} Z_ByDatabase; + +typedef struct Z_ByDatabaseList +{ + int num_elements; + Z_ByDatabase **elements; +} Z_ByDatabaseList; + +typedef struct Z_ScanOccurrences +{ + int which; +#define Z_ScanOccurrences_global 0 +#define Z_ScanOccurrences_byDatabase 1 + union + { + int *global; + Z_ByDatabaseList *byDatabase; + } u; + +} Z_ScanOccurrences; + +typedef struct Z_OccurrenceByAttributesElem +{ + Z_AttributeList *attributes; + Z_ScanOccurrences *occurrences; /* OPTIONAL */ + Z_OtherInformation *otherOccurInfo; /* OPTIONAL */ +} Z_OccurrenceByAttributesElem; + +typedef struct Z_OccurrenceByAttributes +{ + int num_elements; + Z_OccurrenceByAttributesElem **elements; +} Z_OccurrenceByAttributes; + +#else + +/* + * Old, incomplete definition of OccurrenceByAttributes. + */ + typedef struct Z_OccurrenceByAttributes { Z_AttributeList *attributes; #if 0 - enum - { - Z_OByAtt_global, - Z_ObyAtt_byDatabase - } which; + int which; +#define Z_OByAtt_global 0 +#define Z_ObyAtt_byDatabase 1 union { #endif @@ -867,22 +911,24 @@ typedef struct Z_OccurrenceByAttributes #endif } Z_OccurrenceByAttributes; +#endif + typedef struct Z_TermInfo { Z_Term *term; + char *displayTerm; /* OPTIONAL */ Z_AttributeList *suggestedAttributes; /* OPTIONAL */ Z_AlternativeTerm *alternativeTerm; /* OPTIONAL */ int *globalOccurrences; /* OPTIONAL */ Z_OccurrenceByAttributes *byAttributes; /* OPTIONAL */ + Z_OtherInformation *otherTermInfo; /* OPTIONAL */ } Z_TermInfo; typedef struct Z_Entry { - enum - { - Z_Entry_termInfo, - Z_Entry_surrogateDiagnostic - } which; + int which; +#define Z_Entry_termInfo 0 +#define Z_Entry_surrogateDiagnostic 1 union { Z_TermInfo *termInfo; @@ -898,11 +944,9 @@ typedef struct Z_Entries typedef struct Z_ListEntries { - enum - { - Z_ListEntries_entries, - Z_ListEntries_nonSurrogateDiagnostics - } which; + int which; +#define Z_ListEntries_entries 0 +#define Z_ListEntries_nonSurrogateDiagnostics 1 union { Z_Entries *entries; @@ -1080,30 +1124,165 @@ typedef struct Z_ExtendedServicesResponse Z_OtherInformation *otherInfo; /* OPTIONAL */ } Z_ExtendedServicesResponse; +/* ------------------------ Sort --------------------------- */ + +typedef struct Z_SortAttributes +{ + Odr_oid *id; + Z_AttributeList *list; +} Z_SortAttributes; + +typedef struct Z_SortKey +{ + int which; +#define Z_SortKey_sortField 0 +#define Z_SortKey_elementSpec 1 +#define Z_SortKey_sortAttributes 2 + union + { + char *sortField; + Z_Specification *elementSpec; + Z_SortAttributes *sortAttributes; + } u; +} Z_SortKey; + +typedef struct Z_SortDbSpecific +{ + char *databaseName; + Z_SortKey *dbSort; +} Z_SortDbSpecific; + +typedef struct Z_SortDbSpecificList +{ + int num_dbSpecific; + Z_SortDbSpecific **dbSpecific; +} Z_SortDbSpecificList; + +typedef struct Z_SortElement +{ + int which; +#define Z_SortElement_generic 0 +#define Z_SortElement_databaseSpecific 1 + union + { + Z_SortKey *generic; + Z_SortDbSpecificList *databaseSpecific; + } u; +} Z_SortElement; + +typedef struct Z_SortMissingValueAction +{ + int which; +#define Z_SortMissingValAct_abort 0 +#define Z_SortMissingValAct_null 1 +#define Z_SortMissingValAct_valData 2 + union + { + Odr_null *abort; + Odr_null *null; + Odr_oct *valData; + } u; +} Z_SortMissingValueAction; + +typedef struct Z_SortKeySpec +{ + Z_SortElement *sortElement; + int *sortRelation; +#define Z_SortRelation_ascending 0 +#define Z_SortRelation_descending 1 +#define Z_SortRelation_ascendingByFreq 3 +#define Z_SortRelation_descendingByFreq 4 + int *caseSensitivity; +#define Z_SortCase_caseSensitive 0 +#define Z_SortCase_caseInsensitive 1 + Z_SortMissingValueAction *missingValueAction; /* OPTIONAL */ +} Z_SortKeySpec; + +typedef struct Z_SortResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *sortStatus; +#define Z_SortStatus_success 0 +#define Z_SortStatus_partial_1 1 +#define Z_SortStatus_failure 2 + int *resultSetStatus; /* OPTIONAL */ +#define Z_SortResultSetStatus_empty 1 +#define Z_SortResultSetStatus_interim 2 +#define Z_SortResultSetStatus_unchanged 3 +#define Z_SortResultSetStatus_none 4 + Z_DiagRecs *diagnostics; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_SortResponse; + +typedef struct Z_SortKeySpecList +{ + int num_specs; + Z_SortKeySpec **specs; +} Z_SortKeySpecList; + +typedef struct Z_SortRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Z_StringList *inputResultSetNames; + char *sortedResultSetName; + Z_SortKeySpecList *sortSequence; + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_SortRequest; + +/* ----------------------- Resource Report ------------------ */ + +typedef struct Z_ResourceReportRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + Z_ReferenceId *opId; /* OPTIONAL */ + Odr_oid *prefResourceReportFormat; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ResourceReportRequest; + +typedef struct Z_ResourceReportResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *resourceReportStatus; +#define Z_ResourceReportStatus_success 0 +#define Z_ResourceReportStatus_partial 1 +#define Z_ResourceReportStatus_failure_1 2 +#define Z_ResourceReportStatus_failure_2 3 +#define Z_ResourceReportStatus_failure_3 4 +#define Z_ResourceReportStatus_failure_4 5 +#define Z_ResourceReportStatus_failure_5 6 +#define Z_ResourceReportStatus_failure_6 7 + Z_External *resourceReport; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ResourceReportResponse; + /* ------------------------ APDU ---------------------------- */ typedef struct Z_APDU { - enum Z_APDU_which - { - Z_APDU_initRequest, - Z_APDU_initResponse, - Z_APDU_searchRequest, - Z_APDU_searchResponse, - Z_APDU_presentRequest, - Z_APDU_presentResponse, - Z_APDU_deleteResultSetRequest, - Z_APDU_deleteResultSetResponse, - Z_APDU_resourceControlRequest, - Z_APDU_resourceControlResponse, - Z_APDU_triggerResourceControlRequest, - Z_APDU_scanRequest, - Z_APDU_scanResponse, - Z_APDU_segmentRequest, - Z_APDU_extendedServicesRequest, - Z_APDU_extendedServicesResponse, - Z_APDU_close - } which; + int which; +#define Z_APDU_initRequest 0 +#define Z_APDU_initResponse 1 +#define Z_APDU_searchRequest 2 +#define Z_APDU_searchResponse 3 +#define Z_APDU_presentRequest 4 +#define Z_APDU_presentResponse 5 +#define Z_APDU_deleteResultSetRequest 6 +#define Z_APDU_deleteResultSetResponse 7 +#define Z_APDU_resourceControlRequest 8 +#define Z_APDU_resourceControlResponse 9 +#define Z_APDU_triggerResourceControlRequest 10 +#define Z_APDU_scanRequest 11 +#define Z_APDU_scanResponse 12 +#define Z_APDU_segmentRequest 13 +#define Z_APDU_extendedServicesRequest 14 +#define Z_APDU_extendedServicesResponse 15 +#define Z_APDU_close 16 +#define Z_APDU_accessControlRequest 17 +#define Z_APDU_accessControlResponse 18 +#define Z_APDU_sortRequest 20 +#define Z_APDU_sortResponse 21 +#define Z_APDU_resourceReportRequest 22 +#define Z_APDU_resourceReportResponse 23 union { Z_InitRequest *initRequest; @@ -1114,11 +1293,17 @@ typedef struct Z_APDU Z_PresentResponse *presentResponse; Z_DeleteResultSetRequest *deleteResultSetRequest; Z_DeleteResultSetResponse *deleteResultSetResponse; + Z_AccessControlRequest *accessControlRequest; + Z_AccessControlResponse *accessControlResponse; Z_ResourceControlRequest *resourceControlRequest; Z_ResourceControlResponse *resourceControlResponse; Z_TriggerResourceControlRequest *triggerResourceControlRequest; + Z_ResourceReportRequest *resourceReportRequest; + Z_ResourceReportResponse *resourceReportResponse; Z_ScanRequest *scanRequest; Z_ScanResponse *scanResponse; + Z_SortRequest *sortRequest; + Z_SortResponse *sortResponse; Z_Segment *segmentRequest; Z_ExtendedServicesRequest *extendedServicesRequest; Z_ExtendedServicesResponse *extendedServicesResponse; @@ -1126,45 +1311,48 @@ typedef struct Z_APDU } u; } Z_APDU; -int MDF z_APDU(ODR o, Z_APDU **p, int opt); -int MDF z_SUTRS(ODR o, Odr_oct **p, int opt); - -Z_InitRequest MDF *zget_InitRequest(ODR o); -Z_InitResponse MDF *zget_InitResponse(ODR o); -Z_SearchRequest MDF *zget_SearchRequest(ODR o); -Z_SearchResponse MDF *zget_SearchResponse(ODR o); -Z_PresentRequest MDF *zget_PresentRequest(ODR o); -Z_PresentResponse MDF *zget_PresentResponse(ODR o); -Z_DeleteResultSetRequest MDF *zget_DeleteResultSetRequest(ODR o); -Z_DeleteResultSetResponse MDF *zget_DeleteResultSetResponse(ODR o); -Z_ScanRequest MDF *zget_ScanRequest(ODR o); -Z_ScanResponse MDF *zget_ScanResponse(ODR o); -Z_TriggerResourceControlRequest MDF *zget_TriggerResourceControlRequest(ODR o); -Z_ResourceControlRequest MDF *zget_ResourceControlRequest(ODR o); -Z_ResourceControlResponse MDF *zget_ResourceControlResponse(ODR o); -Z_Close MDF *zget_Close(ODR o); -int MDF z_InternationalString(ODR o, char **p, int opt); -int MDF z_OtherInformation(ODR o, Z_OtherInformation **p, int opt); -int MDF z_ElementSetName(ODR o, char **p, int opt); -int MDF z_IntUnit(ODR o, Z_IntUnit **p, int opt); -int MDF z_Unit(ODR o, Z_Unit **p, int opt); -int MDF z_DatabaseName(ODR o, Z_DatabaseName **p, int opt); -int MDF z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt); -int MDF z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, int opt); -int MDF z_Term(ODR o, Z_Term **p, int opt); -int MDF z_Specification(ODR o, Z_Specification **p, int opt); -int MDF z_Permissions(ODR o, Z_Permissions **p, int opt); -int MDF z_DiagRec(ODR o, Z_DiagRec **p, int opt); -int MDF z_AttributeList(ODR o, Z_AttributeList **p, int opt); -int MDF z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt); -Z_APDU MDF *zget_APDU(ODR o, enum Z_APDU_which which); +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); +Z_SearchRequest *zget_SearchRequest(ODR o); +Z_SearchResponse *zget_SearchResponse(ODR o); +Z_PresentRequest *zget_PresentRequest(ODR o); +Z_PresentResponse *zget_PresentResponse(ODR o); +Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o); +Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o); +Z_ScanRequest *zget_ScanRequest(ODR o); +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 *zget_Close(ODR o); +int z_StringList(ODR o, Z_StringList **p, int opt); +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); +int z_Permissions(ODR o, Z_Permissions **p, int opt); +int z_DiagRec(ODR o, Z_DiagRec **p, int opt); +int z_AttributeList(ODR o, Z_AttributeList **p, int opt); +int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt); +Z_APDU *zget_APDU(ODR o, int which); #include #include #include #include +#include #include #include +#include #include