Updated External
[yaz-moved-to-github.git] / include / proto.h
index 3d05a57..be2de47 100644 (file)
  * OF THIS SOFTWARE.
  *
  * $Log: proto.h,v $
- * Revision 1.16  1995-06-15 07:45:06  quinn
+ * 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
 
 /* ----------------- 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;
@@ -151,7 +169,7 @@ typedef struct Z_OtherInformationUnit
     {
        char *characterInfo; 
        Odr_oct *binaryInfo;
-       Odr_external *externallyDefinedInfo;
+       Z_External *externallyDefinedInfo;
        Odr_oid *oid;
     } information;
 } Z_OtherInformationUnit;
@@ -190,6 +208,8 @@ typedef struct Z_IntUnit
     Z_Unit *unitUsed;
 } Z_IntUnit;
 
+typedef Odr_oct Z_SUTRS;
+
 /* ----------------- INIT SERVICE  ----------------*/
 
 typedef struct
@@ -213,7 +233,7 @@ typedef struct Z_IdAuthentication
        char *open;
        Z_IdPass *idPass;
        Odr_null *anonymous;
-       Odr_external *other;
+       Z_External *other;
     } u;
 } Z_IdAuthentication;
 
@@ -248,7 +268,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
@@ -265,7 +285,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
@@ -360,7 +380,7 @@ typedef struct Z_Term
        char *characterString;
        Odr_oid *oid;
        char *dateTime;
-       Odr_external *external;
+       Z_External *external;
        /* Z_IntUnit *integerAndUnit; */
        Odr_null *null;
     } u;
@@ -513,7 +533,7 @@ typedef struct Z_SearchRequest
 
 /* ------------------------ RECORD -------------------------- */
 
-typedef Odr_external Z_DatabaseRecord;
+typedef Z_External Z_DatabaseRecord;
 
 #ifdef Z_95
 
@@ -521,6 +541,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;
 
@@ -534,7 +561,7 @@ typedef struct Z_DiagRec
     union
     {
        Z_DefaultDiagFormat *defaultFormat;
-       Odr_external *externallyDefined;
+       Z_External *externallyDefined;
     } u;
 } Z_DiagRec;
 
@@ -549,11 +576,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
 {
@@ -561,15 +588,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;
 
@@ -591,7 +616,7 @@ typedef struct Z_Records
     {
        Z_NamePlusRecordList *databaseOrSurDiagnostics;
        Z_DiagRec *nonSurrogateDiagnostic;
-       Z_DiagRecList *multipleNonSurDiagnostics;
+       Z_DiagRecs *multipleNonSurDiagnostics;
     } u;
 } Z_Records;
 
@@ -634,7 +659,7 @@ typedef struct Z_ElementSpec
     union
     {
        char *elementSetName;
-       Odr_external *externalSpec;
+       Z_External *externalSpec;
     } u;
 } Z_ElementSpec;
 
@@ -734,7 +759,7 @@ 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
@@ -770,7 +795,7 @@ typedef struct Z_AccessControlRequest
     union
     {
        Odr_oct *simpleForm;
-       Odr_external *externallyDefined;
+       Z_External *externallyDefined;
     } u;
 #ifdef Z_95
     Z_OtherInformation *otherInfo;           /* OPTIONAL */
@@ -788,7 +813,7 @@ typedef struct Z_AccessControlResponse
     union
     {
        Odr_oct *simpleForm;
-       Odr_external *externallyDefined;
+       Z_External *externallyDefined;
     } u;
     Z_DiagRec *diagnostic;                   /* OPTIONAL */
 #ifdef Z_95
@@ -858,12 +883,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
@@ -981,7 +1000,7 @@ typedef struct Z_Close
 #define Z_Close_unspecified        9
     char *diagnosticInformation;          /* OPTIONAL */
     Odr_oid *resourceReportFormat;        /* OPTIONAL */
-    Odr_external *resourceReport;         /* OPTIONAL */
+    Z_External *resourceReport;         /* OPTIONAL */
 #ifdef Z_95
     Z_OtherInformation *otherInfo;        /* OPTIONAL */
 #endif
@@ -1042,6 +1061,7 @@ typedef struct Z_APDU
 } 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);
@@ -1057,9 +1077,21 @@ 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);
 Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which);
 
 #include <prt-rsc.h>
 #include <prt-acc.h>
+#include <prt-exp.h>
+#include <prt-ext.h>
 
 #endif