1 /** \file z-opac.c
2 \brief ASN.1 Module RecordSyntax-opac
3
4 Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6 #if HAVE_CONFIG_H
7 #include <config.h>
8 #endif
9
10 #include <yaz/z-opac.h>
11
z_OPACRecord(ODR o,Z_OPACRecord ** p,int opt,const char * name)12 int z_OPACRecord(ODR o, Z_OPACRecord **p, int opt, const char *name)
13 {
14 if (!odr_sequence_begin(o, p, sizeof(**p), name))
15 return odr_missing(o, opt, name) && odr_ok (o);
16 return
17 odr_implicit_tag(o, z_External,
18 &(*p)->bibliographicRecord, ODR_CONTEXT, 1, 1, "bibliographicRecord") &&
19 odr_implicit_settag(o, ODR_CONTEXT, 2) &&
20 (odr_sequence_of(o, (Odr_fun) z_HoldingsRecord, &(*p)->holdingsData,
21 &(*p)->num_holdingsData, "holdingsData") || odr_ok(o)) &&
22 odr_sequence_end(o);
23 }
24
z_HoldingsRecord(ODR o,Z_HoldingsRecord ** p,int opt,const char * name)25 int z_HoldingsRecord(ODR o, Z_HoldingsRecord **p, int opt, const char *name)
26 {
27 static Odr_arm arm[] = {
28 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_HoldingsRecord_marcHoldingsRecord,
29 (Odr_fun) z_External, "marcHoldingsRecord"},
30 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_HoldingsRecord_holdingsAndCirc,
31 (Odr_fun) z_HoldingsAndCircData, "holdingsAndCirc"},
32 {-1, -1, -1, -1, (Odr_fun) 0, 0}
33 };
34 if (!odr_initmember(o, p, sizeof(**p)))
35 return odr_missing(o, opt, name);
36 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
37 return 1;
38 if (o->direction == ODR_DECODE)
39 *p = 0;
40 return odr_missing(o, opt, name);
41 }
42
z_HoldingsAndCircData(ODR o,Z_HoldingsAndCircData ** p,int opt,const char * name)43 int z_HoldingsAndCircData(ODR o, Z_HoldingsAndCircData **p, int opt, const char *name)
44 {
45 if (!odr_sequence_begin(o, p, sizeof(**p), name))
46 return odr_missing(o, opt, name) && odr_ok (o);
47 return
48 odr_implicit_tag(o, z_InternationalString,
49 &(*p)->typeOfRecord, ODR_CONTEXT, 1, 1, "typeOfRecord") &&
50 odr_implicit_tag(o, z_InternationalString,
51 &(*p)->encodingLevel, ODR_CONTEXT, 2, 1, "encodingLevel") &&
52 odr_implicit_tag(o, z_InternationalString,
53 &(*p)->format, ODR_CONTEXT, 3, 1, "format") &&
54 odr_implicit_tag(o, z_InternationalString,
55 &(*p)->receiptAcqStatus, ODR_CONTEXT, 4, 1, "receiptAcqStatus") &&
56 odr_implicit_tag(o, z_InternationalString,
57 &(*p)->generalRetention, ODR_CONTEXT, 5, 1, "generalRetention") &&
58 odr_implicit_tag(o, z_InternationalString,
59 &(*p)->completeness, ODR_CONTEXT, 6, 1, "completeness") &&
60 odr_implicit_tag(o, z_InternationalString,
61 &(*p)->dateOfReport, ODR_CONTEXT, 7, 1, "dateOfReport") &&
62 odr_implicit_tag(o, z_InternationalString,
63 &(*p)->nucCode, ODR_CONTEXT, 8, 1, "nucCode") &&
64 odr_implicit_tag(o, z_InternationalString,
65 &(*p)->localLocation, ODR_CONTEXT, 9, 1, "localLocation") &&
66 odr_implicit_tag(o, z_InternationalString,
67 &(*p)->shelvingLocation, ODR_CONTEXT, 10, 1, "shelvingLocation") &&
68 odr_implicit_tag(o, z_InternationalString,
69 &(*p)->callNumber, ODR_CONTEXT, 11, 1, "callNumber") &&
70 odr_implicit_tag(o, z_InternationalString,
71 &(*p)->shelvingData, ODR_CONTEXT, 12, 1, "shelvingData") &&
72 odr_implicit_tag(o, z_InternationalString,
73 &(*p)->copyNumber, ODR_CONTEXT, 13, 1, "copyNumber") &&
74 odr_implicit_tag(o, z_InternationalString,
75 &(*p)->publicNote, ODR_CONTEXT, 14, 1, "publicNote") &&
76 odr_implicit_tag(o, z_InternationalString,
77 &(*p)->reproductionNote, ODR_CONTEXT, 15, 1, "reproductionNote") &&
78 odr_implicit_tag(o, z_InternationalString,
79 &(*p)->termsUseRepro, ODR_CONTEXT, 16, 1, "termsUseRepro") &&
80 odr_implicit_tag(o, z_InternationalString,
81 &(*p)->enumAndChron, ODR_CONTEXT, 17, 1, "enumAndChron") &&
82 odr_implicit_settag(o, ODR_CONTEXT, 18) &&
83 (odr_sequence_of(o, (Odr_fun) z_Volume, &(*p)->volumes,
84 &(*p)->num_volumes, "volumes") || odr_ok(o)) &&
85 odr_implicit_settag(o, ODR_CONTEXT, 19) &&
86 (odr_sequence_of(o, (Odr_fun) z_CircRecord, &(*p)->circulationData,
87 &(*p)->num_circulationData, "circulationData") || odr_ok(o)) &&
88 odr_sequence_end(o);
89 }
90
z_Volume(ODR o,Z_Volume ** p,int opt,const char * name)91 int z_Volume(ODR o, Z_Volume **p, int opt, const char *name)
92 {
93 if (!odr_sequence_begin(o, p, sizeof(**p), name))
94 return odr_missing(o, opt, name) && odr_ok (o);
95 return
96 odr_implicit_tag(o, z_InternationalString,
97 &(*p)->enumeration, ODR_CONTEXT, 1, 1, "enumeration") &&
98 odr_implicit_tag(o, z_InternationalString,
99 &(*p)->chronology, ODR_CONTEXT, 2, 1, "chronology") &&
100 odr_implicit_tag(o, z_InternationalString,
101 &(*p)->enumAndChron, ODR_CONTEXT, 3, 1, "enumAndChron") &&
102 odr_sequence_end(o);
103 }
104
z_CircRecord(ODR o,Z_CircRecord ** p,int opt,const char * name)105 int z_CircRecord(ODR o, Z_CircRecord **p, int opt, const char *name)
106 {
107 if (!odr_sequence_begin(o, p, sizeof(**p), name))
108 return odr_missing(o, opt, name) && odr_ok (o);
109 return
110 odr_implicit_tag(o, odr_bool,
111 &(*p)->availableNow, ODR_CONTEXT, 1, 0, "availableNow") &&
112 odr_implicit_tag(o, z_InternationalString,
113 &(*p)->availablityDate, ODR_CONTEXT, 2, 1, "availablityDate") &&
114 odr_implicit_tag(o, z_InternationalString,
115 &(*p)->availableThru, ODR_CONTEXT, 3, 1, "availableThru") &&
116 odr_implicit_tag(o, z_InternationalString,
117 &(*p)->restrictions, ODR_CONTEXT, 4, 1, "restrictions") &&
118 odr_implicit_tag(o, z_InternationalString,
119 &(*p)->itemId, ODR_CONTEXT, 5, 1, "itemId") &&
120 odr_implicit_tag(o, odr_bool,
121 &(*p)->renewable, ODR_CONTEXT, 6, 0, "renewable") &&
122 odr_implicit_tag(o, odr_bool,
123 &(*p)->onHold, ODR_CONTEXT, 7, 0, "onHold") &&
124 odr_implicit_tag(o, z_InternationalString,
125 &(*p)->enumAndChron, ODR_CONTEXT, 8, 1, "enumAndChron") &&
126 odr_implicit_tag(o, z_InternationalString,
127 &(*p)->midspine, ODR_CONTEXT, 9, 1, "midspine") &&
128 odr_implicit_tag(o, z_InternationalString,
129 &(*p)->temporaryLocation, ODR_CONTEXT, 10, 1, "temporaryLocation") &&
130 odr_sequence_end(o);
131 }
132