1 | /* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
|
---|
2 | /* Module-C: UserInfoFormat-dateTime */
|
---|
3 |
|
---|
4 | #include <yaz/z-date.h>
|
---|
5 |
|
---|
6 | int 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 |
|
---|
18 | int 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 |
|
---|
30 | int 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 |
|
---|
51 | int 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 |
|
---|
72 | int 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 |
|
---|
91 | int 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 |
|
---|
103 | int 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 |
|
---|
131 | int 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 | }
|
---|