source: trunk/gsdl/packages/yaz/include/yaz/z-grs.h@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 4.3 KB
Line 
1/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2/* Module-H RecordSyntax-generic */
3
4#ifndef z_grs_H
5#define z_grs_H
6
7#include <yaz/odr.h>
8#include <yaz/z-core.h>
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct Z_GenericRecord Z_GenericRecord;
14YAZ_EXPORT int z_GenericRecord (ODR o, Z_GenericRecord **p, int opt, const char *name);
15
16typedef struct Z_TaggedElement Z_TaggedElement;
17YAZ_EXPORT int z_TaggedElement (ODR o, Z_TaggedElement **p, int opt, const char *name);
18
19typedef struct Z_ElementData Z_ElementData;
20YAZ_EXPORT int z_ElementData (ODR o, Z_ElementData **p, int opt, const char *name);
21
22typedef struct Z_ElementMetaData Z_ElementMetaData;
23YAZ_EXPORT int z_ElementMetaData (ODR o, Z_ElementMetaData **p, int opt, const char *name);
24
25typedef struct Z_TagPath_s Z_TagPath_s;
26YAZ_EXPORT int z_TagPath_s (ODR o, Z_TagPath_s **p, int opt, const char *name);
27
28typedef struct Z_TagPath Z_TagPath;
29YAZ_EXPORT int z_TagPath (ODR o, Z_TagPath **p, int opt, const char *name);
30
31typedef struct Z_Order Z_Order;
32YAZ_EXPORT int z_Order (ODR o, Z_Order **p, int opt, const char *name);
33
34typedef struct Z_Usage Z_Usage;
35YAZ_EXPORT int z_Usage (ODR o, Z_Usage **p, int opt, const char *name);
36
37typedef struct Z_HitVector Z_HitVector;
38YAZ_EXPORT int z_HitVector (ODR o, Z_HitVector **p, int opt, const char *name);
39
40typedef struct Z_Triple Z_Triple;
41YAZ_EXPORT int z_Triple (ODR o, Z_Triple **p, int opt, const char *name);
42
43typedef struct Z_Variant Z_Variant;
44YAZ_EXPORT int z_Variant (ODR o, Z_Variant **p, int opt, const char *name);
45#ifdef __cplusplus
46}
47#endif
48#ifdef __cplusplus
49extern "C" {
50#endif
51struct Z_GenericRecord {
52 int num_elements;
53 Z_TaggedElement **elements;
54};
55
56struct Z_TaggedElement {
57 int *tagType; /* OPT */
58 Z_StringOrNumeric *tagValue;
59 int *tagOccurrence; /* OPT */
60 Z_ElementData *content;
61 Z_ElementMetaData *metaData; /* OPT */
62 Z_Variant *appliedVariant; /* OPT */
63};
64
65struct Z_ElementData {
66 int which;
67 union {
68 Odr_oct *octets;
69 int *numeric;
70 char *date;
71 Z_External *ext;
72 Z_InternationalString *string;
73 bool_t *trueOrFalse;
74 Odr_oid *oid;
75 Z_IntUnit *intUnit;
76 Odr_null *elementNotThere;
77 Odr_null *elementEmpty;
78 Odr_null *noDataRequested;
79 Z_External *diagnostic;
80 Z_GenericRecord *subtree;
81#define Z_ElementData_octets 1
82#define Z_ElementData_numeric 2
83#define Z_ElementData_date 3
84#define Z_ElementData_ext 4
85#define Z_ElementData_string 5
86#define Z_ElementData_trueOrFalse 6
87#define Z_ElementData_oid 7
88#define Z_ElementData_intUnit 8
89#define Z_ElementData_elementNotThere 9
90#define Z_ElementData_elementEmpty 10
91#define Z_ElementData_noDataRequested 11
92#define Z_ElementData_diagnostic 12
93#define Z_ElementData_subtree 13
94 } u;
95};
96
97struct Z_ElementMetaData {
98 Z_Order *seriesOrder; /* OPT */
99 Z_Usage *usageRight; /* OPT */
100 int num_hits;
101 Z_HitVector **hits; /* OPT */
102 Z_InternationalString *displayName; /* OPT */
103 int num_supportedVariants;
104 Z_Variant **supportedVariants; /* OPT */
105 Z_InternationalString *message; /* OPT */
106 Odr_oct *elementDescriptor; /* OPT */
107 Z_TagPath *surrogateFor; /* OPT */
108 Z_TagPath *surrogateElement; /* OPT */
109 Z_External *other; /* OPT */
110};
111
112struct Z_TagPath_s {
113 int *tagType; /* OPT */
114 Z_StringOrNumeric *tagValue;
115 int *tagOccurrence; /* OPT */
116};
117
118struct Z_TagPath {
119 int num;
120 Z_TagPath_s **elements;
121};
122
123struct Z_Order {
124 bool_t *ascending;
125 int *order;
126};
127
128struct Z_Usage {
129#define Z_Usage_redistributable 1
130#define Z_Usage_restricted 2
131#define Z_Usage_licensePointer 3
132 int *type;
133 Z_InternationalString *restriction; /* OPT */
134};
135
136struct Z_HitVector {
137 Z_Term *satisfier; /* OPT */
138 Z_IntUnit *offsetIntoElement; /* OPT */
139 Z_IntUnit *length; /* OPT */
140 int *hitRank; /* OPT */
141 Odr_oct *targetToken; /* OPT */
142};
143
144struct Z_Triple {
145 Odr_oid *variantSetId; /* OPT */
146 int *zclass;
147 int *type;
148 int which;
149 union {
150 int *integer;
151 Z_InternationalString *internationalString;
152 Odr_oct *octetString;
153 Odr_oid *objectIdentifier;
154 bool_t *boolean;
155 Odr_null *null;
156 Z_Unit *unit;
157 Z_IntUnit *valueAndUnit;
158#define Z_Triple_integer 1
159#define Z_Triple_internationalString 2
160#define Z_Triple_octetString 3
161#define Z_Triple_objectIdentifier 4
162#define Z_Triple_boolean 5
163#define Z_Triple_null 6
164#define Z_Triple_unit 7
165#define Z_Triple_valueAndUnit 8
166 } value;
167};
168
169struct Z_Variant {
170 Odr_oid *globalVariantSetId; /* OPT */
171 int num_triples;
172 Z_Triple **triples;
173};
174
175#ifdef __cplusplus
176}
177#endif
178#endif
Note: See TracBrowser for help on using the repository browser.