Initial commit
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / src / z-uifr1.c
1 /** \file z-uifr1.c
2     \brief ASN.1 Module UserInfoFormat-searchResult-1
3
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6
7 #include <yaz/z-uifr1.h>
8
9 int z_SearchInfoReport_s (ODR o, Z_SearchInfoReport_s **p, int opt, const char *name)
10 {
11         if (!odr_sequence_begin (o, p, sizeof(**p), name))
12                 return odr_missing(o, opt, name) && odr_ok (o);
13         return
14                 odr_implicit_tag (o, z_InternationalString,
15                         &(*p)->subqueryId, ODR_CONTEXT, 1, 1, "subqueryId") &&
16                 odr_implicit_tag (o, odr_bool,
17                         &(*p)->fullQuery, ODR_CONTEXT, 2, 0, "fullQuery") &&
18                 odr_explicit_tag (o, z_QueryExpression,
19                         &(*p)->subqueryExpression, ODR_CONTEXT, 3, 1, "subqueryExpression") &&
20                 odr_explicit_tag (o, z_QueryExpression,
21                         &(*p)->subqueryInterpretation, ODR_CONTEXT, 4, 1, "subqueryInterpretation") &&
22                 odr_explicit_tag (o, z_QueryExpression,
23                         &(*p)->subqueryRecommendation, ODR_CONTEXT, 5, 1, "subqueryRecommendation") &&
24                 odr_implicit_tag (o, odr_integer,
25                         &(*p)->subqueryCount, ODR_CONTEXT, 6, 1, "subqueryCount") &&
26                 odr_implicit_tag (o, z_IntUnit,
27                         &(*p)->subqueryWeight, ODR_CONTEXT, 7, 1, "subqueryWeight") &&
28                 odr_implicit_tag (o, z_ResultsByDB,
29                         &(*p)->resultsByDB, ODR_CONTEXT, 8, 1, "resultsByDB") &&
30                 odr_sequence_end (o);
31 }
32
33 int z_SearchInfoReport (ODR o, Z_SearchInfoReport **p, int opt, const char *name)
34 {
35         if (!odr_initmember (o, p, sizeof(**p)))
36                 return odr_missing(o, opt, name);
37         if (odr_sequence_of (o, (Odr_fun) z_SearchInfoReport_s, &(*p)->elements,
38                 &(*p)->num, name))
39                 return 1;
40         if(o->direction == ODR_DECODE)
41                 *p = 0;
42         return odr_missing(o, opt, name);
43 }
44
45 int z_ResultsByDB_sList (ODR o, Z_ResultsByDB_sList **p, int opt, const char *name)
46 {
47         if (!odr_initmember (o, p, sizeof(**p)))
48                 return odr_missing(o, opt, name);
49         if (odr_sequence_of (o, (Odr_fun) z_DatabaseName, &(*p)->elements,
50                 &(*p)->num, name))
51                 return 1;
52         if(o->direction == ODR_DECODE)
53                 *p = 0;
54         return odr_missing(o, opt, name);
55 }
56
57 int z_ResultsByDB_s (ODR o, Z_ResultsByDB_s **p, int opt, const char *name)
58 {
59         static Odr_arm arm[] = {
60                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ResultsByDB_s_all,
61                 (Odr_fun) odr_null, "all"},
62                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ResultsByDB_s_list,
63                 (Odr_fun) z_ResultsByDB_sList, "list"},
64                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
65         };
66         if (!odr_sequence_begin (o, p, sizeof(**p), name))
67                 return odr_missing(o, opt, name) && odr_ok (o);
68         return
69                 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "databases") &&
70                 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
71                 odr_constructed_end (o) &&
72                 odr_implicit_tag (o, odr_integer,
73                         &(*p)->count, ODR_CONTEXT, 2, 1, "count") &&
74                 odr_implicit_tag (o, z_InternationalString,
75                         &(*p)->resultSetName, ODR_CONTEXT, 3, 1, "resultSetName") &&
76                 odr_sequence_end (o);
77 }
78
79 int z_ResultsByDB (ODR o, Z_ResultsByDB **p, int opt, const char *name)
80 {
81         if (!odr_initmember (o, p, sizeof(**p)))
82                 return odr_missing(o, opt, name);
83         if (odr_sequence_of (o, (Odr_fun) z_ResultsByDB_s, &(*p)->elements,
84                 &(*p)->num, name))
85                 return 1;
86         if(o->direction == ODR_DECODE)
87                 *p = 0;
88         return odr_missing(o, opt, name);
89 }
90
91 int z_QueryExpressionTerm (ODR o, Z_QueryExpressionTerm **p, int opt, const char *name)
92 {
93         if (!odr_sequence_begin (o, p, sizeof(**p), name))
94                 return odr_missing(o, opt, name) && odr_ok (o);
95         return
96                 odr_explicit_tag (o, z_Term,
97                         &(*p)->queryTerm, ODR_CONTEXT, 1, 0, "queryTerm") &&
98                 odr_implicit_tag (o, z_InternationalString,
99                         &(*p)->termComment, ODR_CONTEXT, 2, 1, "termComment") &&
100                 odr_sequence_end (o);
101 }
102
103 int z_QueryExpression (ODR o, Z_QueryExpression **p, int opt, const char *name)
104 {
105         static Odr_arm arm[] = {
106                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_QueryExpression_term,
107                 (Odr_fun) z_QueryExpressionTerm, "term"},
108                 {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_QueryExpression_query,
109                 (Odr_fun) z_Query, "query"},
110                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
111         };
112         if (!odr_initmember(o, p, sizeof(**p)))
113                 return odr_missing(o, opt, name);
114         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
115                 return 1;
116         if(o->direction == ODR_DECODE)
117                 *p = 0;
118         return odr_missing(o, opt, name);
119 }