Use option -fPIC for g++
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / src / z-opac.c
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
7 #include <yaz/z-opac.h>
8
9 int z_OPACRecord (ODR o, Z_OPACRecord **p, int opt, const char *name)
10 {
11         if (!odr_sequence_begin (o, p, sizeof(**p), name))
12                 return odr_missing(o, opt, name) && odr_ok (o);
13         return
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)) &&
19                 odr_sequence_end (o);
20 }
21
22 int z_HoldingsRecord (ODR o, Z_HoldingsRecord **p, int opt, const char *name)
23 {
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}
30         };
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))
34                 return 1;
35         if(o->direction == ODR_DECODE)
36                 *p = 0;
37         return odr_missing(o, opt, name);
38 }
39
40 int z_HoldingsAndCircData (ODR o, Z_HoldingsAndCircData **p, int opt, const char *name)
41 {
42         if (!odr_sequence_begin (o, p, sizeof(**p), name))
43                 return odr_missing(o, opt, name) && odr_ok (o);
44         return
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)) &&
85                 odr_sequence_end (o);
86 }
87
88 int z_Volume (ODR o, Z_Volume **p, int opt, const char *name)
89 {
90         if (!odr_sequence_begin (o, p, sizeof(**p), name))
91                 return odr_missing(o, opt, name) && odr_ok (o);
92         return
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") &&
99                 odr_sequence_end (o);
100 }
101
102 int z_CircRecord (ODR o, Z_CircRecord **p, int opt, const char *name)
103 {
104         if (!odr_sequence_begin (o, p, sizeof(**p), name))
105                 return odr_missing(o, opt, name) && odr_ok (o);
106         return
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);
128 }