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