source: trunk/gsdl/packages/yaz/z39.50/z-opac.c@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 5.1 KB
Line 
1/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2/* Module-C: RecordSyntax-opac */
3
4#include <yaz/z-opac.h>
5
6int 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
19int 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
36int 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
84int 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
98int 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}
Note: See TracBrowser for help on using the repository browser.