X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fproto.h;h=08a8e90746f0b1c435589f78f63b395e4a61555c;hp=a34002bfaa294a58538f99f76e0dcb42dc5438c9;hb=602ffff9bb22a27dc020630a884c101ad09e1990;hpb=189fa86838b242b5f37e5ea2db92a84935050a81 diff --git a/include/proto.h b/include/proto.h index a34002b..08a8e90 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,7 +24,34 @@ * OF THIS SOFTWARE. * * $Log: proto.h,v $ - * Revision 1.15 1995-06-14 15:26:43 quinn + * Revision 1.24 1995-08-29 11:17:43 quinn + * *** empty log message *** + * + * Revision 1.23 1995/08/21 09:10:36 quinn + * Smallish fixes to suppport new formats. + * + * Revision 1.22 1995/08/17 12:45:14 quinn + * Fixed minor problems with GRS-1. Added support in c&s. + * + * 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 @@ -119,10 +146,13 @@ * apps have been updated, we'll remove the #ifdefs. */ -#define Z_V3 +#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; @@ -148,7 +178,7 @@ typedef struct Z_OtherInformationUnit { char *characterInfo; Odr_oct *binaryInfo; - Odr_external *externallyDefinedInfo; + Z_External *externallyDefinedInfo; Odr_oid *oid; } information; } Z_OtherInformationUnit; @@ -187,6 +217,8 @@ typedef struct Z_IntUnit Z_Unit *unitUsed; } Z_IntUnit; +typedef Odr_oct Z_SUTRS; + /* ----------------- INIT SERVICE ----------------*/ typedef struct @@ -210,7 +242,7 @@ typedef struct Z_IdAuthentication char *open; Z_IdPass *idPass; Odr_null *anonymous; - Odr_external *other; + Z_External *other; } u; } Z_IdAuthentication; @@ -245,7 +277,7 @@ typedef struct Z_InitRequest char *implementationId; /* OPTIONAL */ char *implementationName; /* OPTIONAL */ char *implementationVersion; /* OPTIONAL */ - Odr_external *userInformationField; /* OPTIONAL */ + Z_External *userInformationField; /* OPTIONAL */ #ifdef Z_95 Z_OtherInformation *otherInfo; /* OPTIONAL */ #endif @@ -262,7 +294,7 @@ typedef struct Z_InitResponse char *implementationId; /* OPTIONAL */ char *implementationName; /* OPTIONAL */ char *implementationVersion; /* OPTIONAL */ - Odr_external *userInformationField; /* OPTIONAL */ + Z_External *userInformationField; /* OPTIONAL */ #ifdef Z_95 Z_OtherInformation *otherInfo; /* OPTIONAL */ #endif @@ -331,14 +363,12 @@ typedef struct Z_AttributeElement { int *numeric; Z_ComplexAttribute *complex; - } u; + } value; #else int *attributeValue; #endif } Z_AttributeElement; -#ifdef Z_V3 - typedef struct Z_Term { enum @@ -359,23 +389,17 @@ 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 @@ -518,7 +542,7 @@ typedef struct Z_SearchRequest /* ------------------------ RECORD -------------------------- */ -typedef Odr_external Z_DatabaseRecord; +typedef Z_External Z_DatabaseRecord; #ifdef Z_95 @@ -526,6 +550,13 @@ 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; @@ -539,7 +570,7 @@ typedef struct Z_DiagRec union { Z_DefaultDiagFormat *defaultFormat; - Odr_external *externallyDefined; + Z_External *externallyDefined; } u; } Z_DiagRec; @@ -554,11 +585,11 @@ typedef struct Z_DiagRec #endif -typedef struct Z_DiagRecList +typedef struct Z_DiagRecs { - int num; - Z_DiagRec **list; -} Z_DiagRecList; + int num_diagRecs; + Z_DiagRec **diagRecs; +} Z_DiagRecs; typedef struct Z_NamePlusRecord { @@ -566,15 +597,13 @@ typedef struct Z_NamePlusRecord enum { Z_NamePlusRecord_databaseRecord, - Z_NamePlusRecord_surrogateDiagnostic, - Z_NamePlusRecord_multipleNonSurDiagnostics + Z_NamePlusRecord_surrogateDiagnostic } which; union { Z_DatabaseRecord *databaseRecord; Z_DiagRec *surrogateDiagnostic; - Z_DiagRecList *multipleNonSurDiagnostics; } u; } Z_NamePlusRecord; @@ -596,7 +625,7 @@ typedef struct Z_Records { Z_NamePlusRecordList *databaseOrSurDiagnostics; Z_DiagRec *nonSurrogateDiagnostic; - Z_DiagRecList *multipleNonSurDiagnostics; + Z_DiagRecs *multipleNonSurDiagnostics; } u; } Z_Records; @@ -639,7 +668,7 @@ typedef struct Z_ElementSpec union { char *elementSetName; - Odr_external *externalSpec; + Z_External *externalSpec; } u; } Z_ElementSpec; @@ -730,19 +759,25 @@ typedef struct Z_TriggerResourceControlRequest #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 */ - Odr_external *resourceReport; /* 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 @@ -750,6 +785,9 @@ typedef struct Z_ResourceControlResponse Z_ReferenceId *referenceId; /* OPTIONAL */ bool_t *continueFlag; bool_t *resultSetWanted; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif } Z_ResourceControlResponse; @@ -766,9 +804,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; @@ -784,10 +822,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; @@ -854,12 +892,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 @@ -884,6 +916,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 @@ -902,6 +937,9 @@ typedef struct Z_ScanResponse int *positionOfTerm; /* OPTIONAL */ Z_ListEntries *entries; /* OPTIONAL */ Odr_oid *attributeSet; /* OPTIONAL */ +#ifdef Z_95 + Z_OtherInformation *otherInfo; +#endif } Z_ScanResponse; @@ -933,7 +971,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; @@ -948,7 +986,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; @@ -971,8 +1009,8 @@ 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; @@ -981,12 +1019,62 @@ typedef struct Z_Close typedef struct Z_Segment { - Z_ReferenceId *referenceid; /* OPTIONAL */ + Z_ReferenceId *referenceId; /* OPTIONAL */ int *numberOfRecordsReturned; - Z_NamePlusRecord *segmentRecords; + int num_segmentRecords; + Z_NamePlusRecord **segmentRecords; Z_OtherInformation *otherInfo; /* OPTIONAL */ } Z_Segment; +/* ----------------------- Extended Services ---------------- */ + +typedef struct Z_Permissions +{ + char *userId; + int num_allowableFunctions; + int **allowableFunctions; +#define Z_Permissions_delete 1 +#define Z_Permissions_modifyContents 2 +#define Z_Permissions_modifyPermissions 3 +#define Z_Permissions_present 4 +#define Z_Permissions_invoke 5 +} Z_Permissions; + +typedef struct Z_ExtendedServicesRequest +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *function; +#define Z_ExtendedServicesRequest_create 1 +#define Z_ExtendedServicesRequest_delete 2 +#define Z_ExtendedServicesRequest_modify 3 + Odr_oid *packageType; + char *packageName; /* OPTIONAL */ + char *userId; /* OPTIONAL */ + Z_IntUnit *retentionTime; /* OPTIONAL */ + Z_Permissions *permissions; /* OPTIONAL */ + char *description; /* OPTIONAL */ + Z_External *taskSpecificParameters; /* OPTIONAL */ + int *waitAction; +#define Z_ExtendedServicesRequest_wait 1 +#define Z_ExtendedServicesRequest_waitIfPossible 2 +#define Z_ExtendedServicesRequest_dontWait 3 +#define Z_ExtendedServicesRequest_dontReturnPackage 4 + char *elements; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ExtendedServicesRequest; + +typedef struct Z_ExtendedServicesResponse +{ + Z_ReferenceId *referenceId; /* OPTIONAL */ + int *operationStatus; +#define Z_ExtendedServicesResponse_done 1 +#define Z_ExtendedServicesResponse_accepted 2 +#define Z_ExtendedServicesResponse_failure 3 + int num_diagnostics; + Z_DiagRec **diagnostics; /* OPTIONAL */ + Z_External *taskPackage; /* OPTIONAL */ + Z_OtherInformation *otherInfo; /* OPTIONAL */ +} Z_ExtendedServicesResponse; /* ------------------------ APDU ---------------------------- */ @@ -1008,6 +1096,8 @@ typedef struct Z_APDU Z_APDU_scanRequest, Z_APDU_scanResponse, Z_APDU_segmentRequest, + Z_APDU_extendedServicesRequest, + Z_APDU_extendedServicesResponse, Z_APDU_close } which; union @@ -1026,11 +1116,14 @@ typedef struct Z_APDU Z_ScanRequest *scanRequest; Z_ScanResponse *scanResponse; Z_Segment *segmentRequest; + Z_ExtendedServicesRequest *extendedServicesRequest; + Z_ExtendedServicesResponse *extendedServicesResponse; 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); @@ -1046,9 +1139,29 @@ 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_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, enum Z_APDU_which which); #include #include +#include +#include +#include +#include + +#include #endif