X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fproto.h;h=11e6c93a79aab2290cef8f04f48b94f76a0b8bcd;hb=9a2b41f58cf220c9583b654ff77776a18e958b44;hp=0cd1a222df173688904d0038c272ead86118b2e3;hpb=8987907b5c39b3f1575a40d02ffd8912487d81d3;p=yaz-moved-to-github.git diff --git a/include/proto.h b/include/proto.h index 0cd1a22..11e6c93 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,7 +24,38 @@ * OF THIS SOFTWARE. * * $Log: proto.h,v $ - * Revision 1.30 1996-01-10 15:21:32 quinn + * Revision 1.40 1997-09-01 08:49:50 adam + * New windows NT/95 port using MSV5.0. To export DLL functions the + * YAZ_EXPORT modifier was added. Defined in yconfig.h. + * + * Revision 1.39 1997/05/14 06:53:44 adam + * C++ support. + * + * Revision 1.38 1997/04/30 08:52:09 quinn + * Null + * + * Revision 1.37 1996/10/09 15:54:58 quinn + * Added SearchInfoReport + * + * Revision 1.36 1996/10/07 15:29:20 quinn + * Added SOIF support + * + * 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 @@ -157,6 +188,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + /* * 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 @@ -235,6 +270,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 @@ -826,6 +867,53 @@ 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; @@ -843,13 +931,17 @@ 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 @@ -957,10 +1049,10 @@ typedef struct Z_DeleteResultSetResponse Z_ReferenceId *referenceId; /* OPTIONAL */ int *deleteOperationStatus; int num_statuses; - Z_ListStatus *deleteListStatuses; /* OPTIONAL */ + Z_ListStatus **deleteListStatuses; /* OPTIONAL */ int *numberNotDeleted; /* OPTIONAL */ int num_bulkStatuses; - Z_ListStatus *bulkStatuses; /* OPTIONAL */ + Z_ListStatus **bulkStatuses; /* OPTIONAL */ char *deleteMessage; /* OPTIONAL */ #ifdef Z_95 Z_OtherInformation *otherInfo; @@ -1052,6 +1144,137 @@ 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 @@ -1076,6 +1299,10 @@ typedef struct Z_APDU #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; @@ -1091,8 +1318,12 @@ typedef struct Z_APDU 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; @@ -1100,46 +1331,54 @@ typedef struct Z_APDU } 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); -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_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); +YAZ_EXPORT int z_APDU(ODR o, Z_APDU **p, int opt); +YAZ_EXPORT int z_SUTRS(ODR o, Odr_oct **p, int opt); + +YAZ_EXPORT Z_InitRequest *zget_InitRequest(ODR o); +YAZ_EXPORT Z_InitResponse *zget_InitResponse(ODR o); +YAZ_EXPORT Z_SearchRequest *zget_SearchRequest(ODR o); +YAZ_EXPORT Z_SearchResponse *zget_SearchResponse(ODR o); +YAZ_EXPORT Z_PresentRequest *zget_PresentRequest(ODR o); +YAZ_EXPORT Z_PresentResponse *zget_PresentResponse(ODR o); +YAZ_EXPORT Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o); +YAZ_EXPORT Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o); +YAZ_EXPORT Z_ScanRequest *zget_ScanRequest(ODR o); +YAZ_EXPORT Z_ScanResponse *zget_ScanResponse(ODR o); +YAZ_EXPORT Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o); +YAZ_EXPORT Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o); +YAZ_EXPORT Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o); +YAZ_EXPORT Z_Close *zget_Close(ODR o); +YAZ_EXPORT int z_StringList(ODR o, Z_StringList **p, int opt); +YAZ_EXPORT int z_InternationalString(ODR o, char **p, int opt); +YAZ_EXPORT int z_OtherInformation(ODR o, Z_OtherInformation **p, int opt); +YAZ_EXPORT int z_ElementSetName(ODR o, char **p, int opt); +YAZ_EXPORT int z_IntUnit(ODR o, Z_IntUnit **p, int opt); +YAZ_EXPORT int z_Unit(ODR o, Z_Unit **p, int opt); +YAZ_EXPORT int z_DatabaseName(ODR o, Z_DatabaseName **p, int opt); +YAZ_EXPORT int z_StringOrNumeric(ODR o, Z_StringOrNumeric **p, int opt); +YAZ_EXPORT int z_OtherInformationUnit(ODR o, Z_OtherInformationUnit **p, int opt); +YAZ_EXPORT int z_Term(ODR o, Z_Term **p, int opt); +YAZ_EXPORT int z_Specification(ODR o, Z_Specification **p, int opt); +YAZ_EXPORT int z_Permissions(ODR o, Z_Permissions **p, int opt); +YAZ_EXPORT int z_DiagRec(ODR o, Z_DiagRec **p, int opt); +YAZ_EXPORT int z_AttributeList(ODR o, Z_AttributeList **p, int opt); +YAZ_EXPORT int z_DefaultDiagFormat(ODR o, Z_DefaultDiagFormat **p, int opt); +YAZ_EXPORT Z_APDU *zget_APDU(ODR o, int which); +YAZ_EXPORT int z_Query(ODR o, Z_Query **p, int opt); + +#ifdef __cplusplus +} +#endif #include #include #include #include +#include #include #include #include +#include #include