+/* YC 0.2: Tue Feb 29 16:45:06 CET 2000 */
+/* Module-H DiagnosticFormatDiag1 */
+
+#ifndef z_diag1_H
+#define z_diag1_H
+
+#include <yaz/odr.h>
+#include <yaz/z-core.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct Z_DiagnosticFormat_s Z_DiagnosticFormat_s;
+YAZ_EXPORT int z_DiagnosticFormat_s (ODR o, Z_DiagnosticFormat_s **p, int opt, const char *name);
+
+typedef struct Z_DiagnosticFormat Z_DiagnosticFormat;
+YAZ_EXPORT int z_DiagnosticFormat (ODR o, Z_DiagnosticFormat **p, int opt, const char *name);
+
+typedef struct Z_TooMany Z_TooMany;
+YAZ_EXPORT int z_TooMany (ODR o, Z_TooMany **p, int opt, const char *name);
+
+typedef struct Z_BadSpec Z_BadSpec;
+YAZ_EXPORT int z_BadSpec (ODR o, Z_BadSpec **p, int opt, const char *name);
+
+typedef struct Z_DbUnavail_0 Z_DbUnavail_0;
+YAZ_EXPORT int z_DbUnavail_0 (ODR o, Z_DbUnavail_0 **p, int opt, const char *name);
+
+typedef struct Z_DbUnavail Z_DbUnavail;
+YAZ_EXPORT int z_DbUnavail (ODR o, Z_DbUnavail **p, int opt, const char *name);
+
+typedef struct Z_Attribute Z_Attribute;
+YAZ_EXPORT int z_Attribute (ODR o, Z_Attribute **p, int opt, const char *name);
+
+typedef struct Z_AttCombo Z_AttCombo;
+YAZ_EXPORT int z_AttCombo (ODR o, Z_AttCombo **p, int opt, const char *name);
+
+typedef struct Z_DiagTerm Z_DiagTerm;
+YAZ_EXPORT int z_DiagTerm (ODR o, Z_DiagTerm **p, int opt, const char *name);
+
+typedef struct Z_Proximity Z_Proximity;
+YAZ_EXPORT int z_Proximity (ODR o, Z_Proximity **p, int opt, const char *name);
+
+typedef struct Z_AttrListList Z_AttrListList;
+YAZ_EXPORT int z_AttrListList (ODR o, Z_AttrListList **p, int opt, const char *name);
+
+typedef struct Z_Scan Z_Scan;
+YAZ_EXPORT int z_Scan (ODR o, Z_Scan **p, int opt, const char *name);
+
+typedef struct Z_StringList Z_StringList;
+YAZ_EXPORT int z_StringList (ODR o, Z_StringList **p, int opt, const char *name);
+
+typedef struct Z_Sort Z_Sort;
+YAZ_EXPORT int z_Sort (ODR o, Z_Sort **p, int opt, const char *name);
+
+typedef struct Z_Segmentation Z_Segmentation;
+YAZ_EXPORT int z_Segmentation (ODR o, Z_Segmentation **p, int opt, const char *name);
+
+typedef struct Z_ExtServices Z_ExtServices;
+YAZ_EXPORT int z_ExtServices (ODR o, Z_ExtServices **p, int opt, const char *name);
+
+typedef struct Z_OidList Z_OidList;
+YAZ_EXPORT int z_OidList (ODR o, Z_OidList **p, int opt, const char *name);
+
+typedef struct Z_AltOidList Z_AltOidList;
+YAZ_EXPORT int z_AltOidList (ODR o, Z_AltOidList **p, int opt, const char *name);
+
+typedef struct Z_AccessCtrl Z_AccessCtrl;
+YAZ_EXPORT int z_AccessCtrl (ODR o, Z_AccessCtrl **p, int opt, const char *name);
+
+typedef struct Z_RecordSyntax Z_RecordSyntax;
+YAZ_EXPORT int z_RecordSyntax (ODR o, Z_RecordSyntax **p, int opt, const char *name);
+
+typedef struct Z_DiagFormat Z_DiagFormat;
+YAZ_EXPORT int z_DiagFormat (ODR o, Z_DiagFormat **p, int opt, const char *name);
+#ifdef __cplusplus
+}
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct Z_DiagnosticFormat_s {
+ int which;
+ union {
+ Z_DefaultDiagFormat *defaultDiagRec;
+ Z_DiagFormat *explicitDiagnostic;
+#define Z_DiagnosticFormat_s_defaultDiagRec 1
+#define Z_DiagnosticFormat_s_explicitDiagnostic 2
+ } u; /* OPT */
+ Z_InternationalString *message; /* OPT */
+};
+
+struct Z_DiagnosticFormat {
+ int num;
+ Z_DiagnosticFormat_s **elements;
+};
+
+struct Z_TooMany {
+#define Z_TooMany_argumentWords 1
+#define Z_TooMany_truncatedWords 2
+#define Z_TooMany_booleanOperators 3
+#define Z_TooMany_incompleteSubfields 4
+#define Z_TooMany_characters 5
+#define Z_TooMany_recordsRetrieved 6
+#define Z_TooMany_dataBasesSpecified 7
+#define Z_TooMany_resultSetsCreated 8
+#define Z_TooMany_indexTermsProcessed 9
+ int *tooManyWhat;
+ int *max; /* OPT */
+};
+
+struct Z_BadSpec {
+ Z_Specification *spec;
+ Z_DatabaseName *db; /* OPT */
+ int num_goodOnes;
+ Z_Specification **goodOnes; /* OPT */
+};
+
+struct Z_DbUnavail_0 {
+#define Z_DbUnavail_0_doesNotExist 0
+#define Z_DbUnavail_0_existsButUnavail 1
+#define Z_DbUnavail_0_locked 2
+#define Z_DbUnavail_0_accessDenied 3
+ int *reasonCode; /* OPT */
+ Z_InternationalString *message; /* OPT */
+};
+
+struct Z_DbUnavail {
+ Z_DatabaseName *db;
+ Z_DbUnavail_0 *why;
+};
+
+struct Z_Attribute {
+ Odr_oid *id;
+ int *type; /* OPT */
+ int *value; /* OPT */
+ Z_Term *term; /* OPT */
+};
+
+struct Z_AttCombo {
+ Z_AttributeList *unsupportedCombination;
+ int num_recommendedAlternatives;
+ Z_AttributeList **recommendedAlternatives; /* OPT */
+};
+
+struct Z_DiagTerm {
+#define Z_DiagTerm_codedValue 1
+#define Z_DiagTerm_unparsable 2
+#define Z_DiagTerm_tooShort 3
+#define Z_DiagTerm_type 4
+ int *problem; /* OPT */
+ Z_Term *term;
+};
+
+struct Z_Proximity {
+ int which;
+ union {
+ Odr_null *resultSets;
+ Z_InternationalString *badSet;
+ int *relation;
+ int *unit;
+ int *distance;
+ Z_AttributeList *attributes;
+ Odr_null *ordered;
+ Odr_null *exclusion;
+#define Z_Proximity_resultSets 1
+#define Z_Proximity_badSet 2
+#define Z_Proximity_relation 3
+#define Z_Proximity_unit 4
+#define Z_Proximity_distance 5
+#define Z_Proximity_attributes 6
+#define Z_Proximity_ordered 7
+#define Z_Proximity_exclusion 8
+ } u;
+};
+
+struct Z_AttrListList {
+ int num;
+ Z_AttributeList **elements;
+};
+
+struct Z_Scan {
+ int which;
+ union {
+ Odr_null *nonZeroStepSize;
+ Odr_null *specifiedStepSize;
+ Odr_null *termList1;
+ Z_AttrListList *termList2;
+#define Z_Scan_mustBeOne 1
+#define Z_Scan_mustBePositive 2
+#define Z_Scan_mustBeNonNegative 3
+#define Z_Scan_other 4
+ int *posInResponse;
+ Odr_null *resources;
+ Odr_null *endOfList;
+#define Z_Scan_nonZeroStepSize 1
+#define Z_Scan_specifiedStepSize 2
+#define Z_Scan_termList1 3
+#define Z_Scan_termList2 4
+#define Z_Scan_posInResponse 5
+#define Z_Scan_resources 6
+#define Z_Scan_endOfList 7
+ } u;
+};
+
+struct Z_StringList {
+ int num;
+ Z_InternationalString **elements;
+};
+
+struct Z_Sort {
+ int which;
+ union {
+ Odr_null *sequence;
+ Odr_null *noRsName;
+ int *tooMany;
+ Odr_null *incompatible;
+ Odr_null *generic;
+ Odr_null *dbSpecific;
+ Z_SortElement *sortElement;
+#define Z_Sort_tooMany 1
+#define Z_Sort_duplicate 2
+ int *key;
+ Odr_null *action;
+#define Z_Sort_relation 1
+#define Z_Sort_case 2
+#define Z_Sort_action 3
+#define Z_Sort_sort 4
+ int *illegal;
+ Z_StringList *inputTooLarge;
+ Odr_null *aggregateTooLarge;
+#define Z_SortD_sequence 1
+#define Z_SortD_noRsName 2
+#define Z_SortD_tooMany 3
+#define Z_SortD_incompatible 4
+#define Z_SortD_generic 5
+#define Z_SortD_dbSpecific 6
+#define Z_SortD_sortElement 7
+#define Z_SortD_key 8
+#define Z_SortD_action 9
+#define Z_SortD_illegal 10
+#define Z_SortD_inputTooLarge 11
+#define Z_SortD_aggregateTooLarge 12
+ } u;
+};
+
+struct Z_Segmentation {
+ int which;
+ union {
+ Odr_null *segmentCount;
+ int *segmentSize;
+#define Z_Segmentation_segmentCount 1
+#define Z_Segmentation_segmentSize 2
+ } u;
+};
+
+struct Z_ExtServices {
+ int which;
+ union {
+#define Z_ExtServices_nameInUse 1
+#define Z_ExtServices_noSuchName 2
+#define Z_ExtServices_quota 3
+#define Z_ExtServices_type 4
+ int *req;
+#define Z_ExtServices_id 1
+#define Z_ExtServices_modifyDelete 2
+ int *permission;
+#define Z_ExtServices_failed 1
+#define Z_ExtServices_service 2
+#define Z_ExtServices_parameters 3
+ int *immediate;
+#define Z_ExtServices_req 1
+#define Z_ExtServices_permission 2
+#define Z_ExtServices_immediate 3
+ } u;
+};
+
+struct Z_OidList {
+ int num;
+ Odr_oid **elements;
+};
+
+struct Z_AltOidList {
+ int num;
+ Odr_oid **elements;
+};
+
+struct Z_AccessCtrl {
+ int which;
+ union {
+ Odr_null *noUser;
+ Odr_null *refused;
+ Odr_null *simple;
+ Z_OidList *oid;
+ Z_AltOidList *alternative;
+ Odr_null *pwdInv;
+ Odr_null *pwdExp;
+#define Z_AccessCtrl_noUser 1
+#define Z_AccessCtrl_refused 2
+#define Z_AccessCtrl_simple 3
+#define Z_AccessCtrl_oid 4
+#define Z_AccessCtrl_alternative 5
+#define Z_AccessCtrl_pwdInv 6
+#define Z_AccessCtrl_pwdExp 7
+ } u;
+};
+
+struct Z_RecordSyntax {
+ Odr_oid *unsupportedSyntax;
+ int num_suggestedAlternatives;
+ Odr_oid **suggestedAlternatives; /* OPT */
+};
+
+struct Z_DiagFormat {
+ int which;
+ union {
+ Z_TooMany *tooMany;
+ Z_BadSpec *badSpec;
+ Z_DbUnavail *dbUnavail;
+#define Z_DiagFormat_and 0
+#define Z_DiagFormat_or 1
+#define Z_DiagFormat_and_not 2
+#define Z_DiagFormat_prox 3
+ int *unSupOp;
+ Z_Attribute *attribute;
+ Z_AttCombo *attCombo;
+ Z_DiagTerm *term;
+ Z_Proximity *proximity;
+ Z_Scan *scan;
+ Z_Sort *sort;
+ Z_Segmentation *segmentation;
+ Z_ExtServices *extServices;
+ Z_AccessCtrl *accessCtrl;
+ Z_RecordSyntax *recordSyntax;
+#define Z_DiagFormat_tooMany 1
+#define Z_DiagFormat_badSpec 2
+#define Z_DiagFormat_dbUnavail 3
+#define Z_DiagFormat_unSupOp 4
+#define Z_DiagFormat_attribute 5
+#define Z_DiagFormat_attCombo 6
+#define Z_DiagFormat_term 7
+#define Z_DiagFormat_proximity 8
+#define Z_DiagFormat_scan 9
+#define Z_DiagFormat_sort 10
+#define Z_DiagFormat_segmentation 11
+#define Z_DiagFormat_extServices 12
+#define Z_DiagFormat_accessCtrl 13
+#define Z_DiagFormat_recordSyntax 14
+ } u;
+};
+
+#ifdef __cplusplus
+}
+#endif
+#endif