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