Renamed ASN.1 compiler to yaz-comp (used to be yc.tcl).
[yaz-moved-to-github.git] / z39.50 / z-accform1.c
1 /* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2 /* Module-C: AccessControlFormat-prompt-1 */
3
4 #include <yaz/z-accform1.h>
5
6 int z_PromptObject1 (ODR o, Z_PromptObject1 **p, int opt, const char *name)
7 {
8         static Odr_arm arm[] = {
9                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PromptObject1_challenge,
10                 (Odr_fun) z_Challenge1, "challenge"},
11                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_PromptObject1_response,
12                 (Odr_fun) z_Response1, "response"},
13                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
14         };
15         if (!odr_initmember(o, p, sizeof(**p)))
16                 return opt && odr_ok(o);
17         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
18                 return 1;
19         *p = 0;
20         return opt && odr_ok(o);
21 }
22
23 int z_ChallengeUnit1 (ODR o, Z_ChallengeUnit1 **p, int opt, const char *name)
24 {
25         static Odr_arm arm[] = {
26                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ChallengeUnit1_character,
27                 (Odr_fun) z_InternationalString, "character"},
28                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ChallengeUnit1_encrypted,
29                 (Odr_fun) z_Encryption, "encrypted"},
30                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
31         };
32         if (!odr_sequence_begin (o, p, sizeof(**p), name))
33                 return opt && odr_ok (o);
34         return
35                 odr_explicit_tag (o, z_PromptId,
36                         &(*p)->promptId, ODR_CONTEXT, 1, 0, "promptId") &&
37                 odr_implicit_tag (o, z_InternationalString,
38                         &(*p)->defaultResponse, ODR_CONTEXT, 2, 1, "defaultResponse") &&
39                 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 3, "promptInfo") &&
40                 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
41                 odr_constructed_end (o)) || odr_ok(o)) &&
42                 odr_implicit_tag (o, z_InternationalString,
43                         &(*p)->regExpr, ODR_CONTEXT, 4, 1, "regExpr") &&
44                 odr_implicit_tag (o, odr_null,
45                         &(*p)->responseRequired, ODR_CONTEXT, 5, 1, "responseRequired") &&
46                 odr_implicit_settag (o, ODR_CONTEXT, 6) &&
47                 (odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->allowedValues,
48                   &(*p)->num_allowedValues, "allowedValues") || odr_ok(o)) &&
49                 odr_implicit_tag (o, odr_null,
50                         &(*p)->shouldSave, ODR_CONTEXT, 7, 1, "shouldSave") &&
51                 odr_implicit_tag (o, odr_integer,
52                         &(*p)->dataType, ODR_CONTEXT, 8, 1, "dataType") &&
53                 odr_implicit_tag (o, z_External,
54                         &(*p)->diagnostic, ODR_CONTEXT, 9, 1, "diagnostic") &&
55                 odr_sequence_end (o);
56 }
57
58 int z_Challenge1 (ODR o, Z_Challenge1 **p, int opt, const char *name)
59 {
60         if (!odr_initmember (o, p, sizeof(**p)))
61                 return opt && odr_ok(o);
62         if (odr_sequence_of (o, (Odr_fun) z_ChallengeUnit1, &(*p)->elements,
63                 &(*p)->num, name))
64                 return 1;
65         *p = 0;
66         return opt && odr_ok(o);
67 }
68
69 int z_ResponseUnit1 (ODR o, Z_ResponseUnit1 **p, int opt, const char *name)
70 {
71         static Odr_arm arm[] = {
72                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ResponseUnit1_string,
73                 (Odr_fun) z_InternationalString, "string"},
74                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ResponseUnit1_accept,
75                 (Odr_fun) odr_bool, "accept"},
76                 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_ResponseUnit1_acknowledge,
77                 (Odr_fun) odr_null, "acknowledge"},
78                 {ODR_EXPLICIT, ODR_CONTEXT, 4, Z_ResponseUnit1_diagnostic,
79                 (Odr_fun) z_DiagRec, "diagnostic"},
80                 {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_ResponseUnit1_encrypted,
81                 (Odr_fun) z_Encryption, "encrypted"},
82                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
83         };
84         if (!odr_sequence_begin (o, p, sizeof(**p), name))
85                 return opt && odr_ok (o);
86         return
87                 odr_explicit_tag (o, z_PromptId,
88                         &(*p)->promptId, ODR_CONTEXT, 1, 0, "promptId") &&
89                 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 2, "promptResponse") &&
90                 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
91                 odr_constructed_end (o) &&
92                 odr_sequence_end (o);
93 }
94
95 int z_Response1 (ODR o, Z_Response1 **p, int opt, const char *name)
96 {
97         if (!odr_initmember (o, p, sizeof(**p)))
98                 return opt && odr_ok(o);
99         if (odr_sequence_of (o, (Odr_fun) z_ResponseUnit1, &(*p)->elements,
100                 &(*p)->num, name))
101                 return 1;
102         *p = 0;
103         return opt && odr_ok(o);
104 }
105
106 int z_PromptIdEnumeratedPrompt (ODR o, Z_PromptIdEnumeratedPrompt **p, int opt, const char *name)
107 {
108         if (!odr_sequence_begin (o, p, sizeof(**p), name))
109                 return opt && odr_ok (o);
110         return
111                 odr_implicit_tag (o, odr_integer,
112                         &(*p)->type, ODR_CONTEXT, 1, 0, "type") &&
113                 odr_implicit_tag (o, z_InternationalString,
114                         &(*p)->suggestedString, ODR_CONTEXT, 2, 1, "suggestedString") &&
115                 odr_sequence_end (o);
116 }
117
118 int z_PromptId (ODR o, Z_PromptId **p, int opt, const char *name)
119 {
120         static Odr_arm arm[] = {
121                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PromptId_enumeratedPrompt,
122                 (Odr_fun) z_PromptIdEnumeratedPrompt, "enumeratedPrompt"},
123                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_PromptId_nonEnumeratedPrompt,
124                 (Odr_fun) z_InternationalString, "nonEnumeratedPrompt"},
125                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
126         };
127         if (!odr_initmember(o, p, sizeof(**p)))
128                 return opt && odr_ok(o);
129         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
130                 return 1;
131         *p = 0;
132         return opt && odr_ok(o);
133 }
134
135 int z_Encryption (ODR o, Z_Encryption **p, int opt, const char *name)
136 {
137         if (!odr_sequence_begin (o, p, sizeof(**p), name))
138                 return opt && odr_ok (o);
139         return
140                 odr_implicit_tag (o, odr_octetstring,
141                         &(*p)->cryptType, ODR_CONTEXT, 1, 1, "cryptType") &&
142                 odr_implicit_tag (o, odr_octetstring,
143                         &(*p)->credential, ODR_CONTEXT, 2, 1, "credential") &&
144                 odr_implicit_tag (o, odr_octetstring,
145                         &(*p)->data, ODR_CONTEXT, 3, 0, "data") &&
146                 odr_sequence_end (o);
147 }