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