source: trunk/gsdl/packages/yaz/z39.50/z-date.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: 4.9 KB
Line 
1/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2/* Module-C: UserInfoFormat-dateTime */
3
4#include <yaz/z-date.h>
5
6int z_DateTime (ODR o, Z_DateTime **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_explicit_tag (o, z_Date,
12 &(*p)->date, ODR_CONTEXT, 1, 1, "date") &&
13 odr_explicit_tag (o, z_Time,
14 &(*p)->time, ODR_CONTEXT, 2, 1, "time") &&
15 odr_sequence_end (o);
16}
17
18int z_DateMonthAndDay (ODR o, Z_DateMonthAndDay **p, int opt, const char *name)
19{
20 if (!odr_sequence_begin (o, p, sizeof(**p), name))
21 return opt && odr_ok (o);
22 return
23 odr_implicit_tag (o, odr_integer,
24 &(*p)->month, ODR_CONTEXT, 2, 0, "month") &&
25 odr_implicit_tag (o, odr_integer,
26 &(*p)->day, ODR_CONTEXT, 3, 1, "day") &&
27 odr_sequence_end (o);
28}
29
30int z_DateQuarter (ODR o, Z_DateQuarter **p, int opt, const char *name)
31{
32 static Odr_arm arm[] = {
33 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_DateQuarter_first,
34 (Odr_fun) odr_null, "first"},
35 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_DateQuarter_second,
36 (Odr_fun) odr_null, "second"},
37 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_DateQuarter_third,
38 (Odr_fun) odr_null, "third"},
39 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_DateQuarter_fourth,
40 (Odr_fun) odr_null, "fourth"},
41 {-1, -1, -1, -1, (Odr_fun) 0, 0}
42 };
43 if (!odr_initmember(o, p, sizeof(**p)))
44 return opt && odr_ok(o);
45 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
46 return 1;
47 *p = 0;
48 return opt && odr_ok(o);
49}
50
51int z_DateSeason (ODR o, Z_DateSeason **p, int opt, const char *name)
52{
53 static Odr_arm arm[] = {
54 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_DateSeason_winter,
55 (Odr_fun) odr_null, "winter"},
56 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_DateSeason_spring,
57 (Odr_fun) odr_null, "spring"},
58 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_DateSeason_summer,
59 (Odr_fun) odr_null, "summer"},
60 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_DateSeason_autumn,
61 (Odr_fun) odr_null, "autumn"},
62 {-1, -1, -1, -1, (Odr_fun) 0, 0}
63 };
64 if (!odr_initmember(o, p, sizeof(**p)))
65 return opt && odr_ok(o);
66 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
67 return 1;
68 *p = 0;
69 return opt && odr_ok(o);
70}
71
72int z_Era (ODR o, Z_Era **p, int opt, const char *name)
73{
74 static Odr_arm arm[] = {
75 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Era_decade,
76 (Odr_fun) odr_null, "decade"},
77 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Era_century,
78 (Odr_fun) odr_null, "century"},
79 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Era_millennium,
80 (Odr_fun) odr_null, "millennium"},
81 {-1, -1, -1, -1, (Odr_fun) 0, 0}
82 };
83 if (!odr_initmember(o, p, sizeof(**p)))
84 return opt && odr_ok(o);
85 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
86 return 1;
87 *p = 0;
88 return opt && odr_ok(o);
89}
90
91int z_DateFlags (ODR o, Z_DateFlags **p, int opt, const char *name)
92{
93 if (!odr_sequence_begin (o, p, sizeof(**p), name))
94 return opt && odr_ok (o);
95 return
96 odr_implicit_tag (o, odr_null,
97 &(*p)->circa, ODR_CONTEXT, 1, 1, "circa") &&
98 odr_implicit_tag (o, z_Era,
99 &(*p)->era, ODR_CONTEXT, 2, 1, "era") &&
100 odr_sequence_end (o);
101}
102
103int z_Date (ODR o, Z_Date **p, int opt, const char *name)
104{
105 static Odr_arm arm[] = {
106 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Date_monthAndDay,
107 (Odr_fun) z_DateMonthAndDay, "monthAndDay"},
108 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Date_julianDay,
109 (Odr_fun) odr_integer, "julianDay"},
110 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Date_weekNumber,
111 (Odr_fun) odr_integer, "weekNumber"},
112 {ODR_EXPLICIT, ODR_CONTEXT, 4, Z_Date_quarter,
113 (Odr_fun) z_DateQuarter, "quarter"},
114 {ODR_EXPLICIT, ODR_CONTEXT, 5, Z_Date_season,
115 (Odr_fun) z_DateSeason, "season"},
116 {-1, -1, -1, -1, (Odr_fun) 0, 0}
117 };
118 if (!odr_sequence_begin (o, p, sizeof(**p), name))
119 return opt && odr_ok (o);
120 return
121 odr_implicit_tag (o, odr_integer,
122 &(*p)->year, ODR_CONTEXT, 1, 0, "year") &&
123 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 2, "partOfYear") &&
124 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
125 odr_constructed_end (o)) || odr_ok(o)) &&
126 odr_implicit_tag (o, z_DateFlags,
127 &(*p)->flags, ODR_CONTEXT, 3, 1, "flags") &&
128 odr_sequence_end (o);
129}
130
131int z_Time (ODR o, Z_Time **p, int opt, const char *name)
132{
133 static Odr_arm arm[] = {
134 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Time_local,
135 (Odr_fun) odr_null, "local"},
136 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Time_utc,
137 (Odr_fun) odr_null, "utc"},
138 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Time_utcOffset,
139 (Odr_fun) odr_integer, "utcOffset"},
140 {-1, -1, -1, -1, (Odr_fun) 0, 0}
141 };
142 if (!odr_sequence_begin (o, p, sizeof(**p), name))
143 return opt && odr_ok (o);
144 return
145 odr_implicit_tag (o, odr_integer,
146 &(*p)->hour, ODR_CONTEXT, 1, 0, "hour") &&
147 odr_implicit_tag (o, odr_integer,
148 &(*p)->minute, ODR_CONTEXT, 2, 1, "minute") &&
149 odr_implicit_tag (o, odr_integer,
150 &(*p)->second, ODR_CONTEXT, 3, 1, "second") &&
151 odr_implicit_tag (o, z_IntUnit,
152 &(*p)->partOfSecond, ODR_CONTEXT, 4, 1, "partOfSecond") &&
153 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 5, "zone") &&
154 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
155 odr_constructed_end (o) &&
156 odr_sequence_end (o);
157}
Note: See TracBrowser for help on using the repository browser.