Fixed Makefile(s).
[yaz-moved-to-github.git] / include / proto.h
index 2f77eea..11e6c93 100644 (file)
  * OF THIS SOFTWARE.
  *
  * $Log: proto.h,v $
- * Revision 1.31  1996-01-22 09:46:45  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
 #include <odr_use.h>
 #include <yaz-version.h>
 
+#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
@@ -835,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;
@@ -852,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
@@ -966,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;
@@ -1166,6 +1249,32 @@ typedef struct Z_SortRequest
     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
@@ -1192,6 +1301,8 @@ typedef struct Z_APDU
 #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;
@@ -1207,6 +1318,8 @@ 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;
@@ -1218,47 +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_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);
+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 <prt-rsc.h>
 #include <prt-acc.h>
 #include <prt-exp.h>
 #include <prt-grs.h>
+#include <prt-arc.h>
 #include <prt-exd.h>
 #include <prt-dia.h>
 #include <prt-esp.h>
+#include <prt-add.h>
 
 #include <prt-ext.h>