X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fproto.h;h=2f77eea815dfc3fafc14cf147f48d1ac2e8e8ee0;hb=9d17b5cfa8555d4762f162785edede1e0314cc07;hp=2366c903473ebbd0b2a03941fa0f70e4571d196e;hpb=4ae699c927bc26f3550d1a8ca911e8d1fe75dbfc;p=yaz-moved-to-github.git diff --git a/include/proto.h b/include/proto.h index 2366c90..2f77eea 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,7 +24,17 @@ * OF THIS SOFTWARE. * * $Log: proto.h,v $ - * Revision 1.28 1996-01-02 08:57:32 quinn + * 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 @@ -228,6 +238,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 @@ -475,7 +491,7 @@ typedef struct Z_Complex { struct Z_RPNStructure *s1; struct Z_RPNStructure *s2; - Z_Operator *operator; + Z_Operator *roperator; } Z_Complex; typedef struct Z_RPNStructure @@ -1045,6 +1061,111 @@ 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; + /* ------------------------ APDU ---------------------------- */ typedef struct Z_APDU @@ -1067,6 +1188,10 @@ typedef struct Z_APDU #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 union { Z_InitRequest *initRequest; @@ -1077,11 +1202,15 @@ 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_ScanRequest *scanRequest; Z_ScanResponse *scanResponse; + Z_SortRequest *sortRequest; + Z_SortResponse *sortResponse; Z_Segment *segmentRequest; Z_ExtendedServicesRequest *extendedServicesRequest; Z_ExtendedServicesResponse *extendedServicesResponse; @@ -1106,6 +1235,7 @@ 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);