* OF THIS SOFTWARE.
*
* $Log: proto.h,v $
- * Revision 1.30 1996-01-10 15:21:32 quinn
+ * 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
typedef Odr_oct Z_SUTRS;
+typedef struct Z_StringList
+{
+ int num_strings;
+ char **strings;
+} Z_StringList;
+
/* ----------------- INIT SERVICE ----------------*/
typedef struct
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;
#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
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
#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;
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;
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);
#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>