Renamed ASN.1 compiler to yaz-comp (used to be yc.tcl).
[yaz-moved-to-github.git] / z39.50 / z-opac.c
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 }