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