source: trunk/gsdl/packages/yaz/z39.50/z-uifr1.c@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 3.7 KB
Line 
1/* Generated automatically by the YAZ ASN.1 Compiler 0.3 */
2/* Module-C: UserInfoFormat-searchResult-1 */
3
4#include <yaz/z-uifr1.h>
5
6int z_SearchInfoReport_s (ODR o, Z_SearchInfoReport_s **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_implicit_tag (o, z_InternationalString,
12 &(*p)->subqueryId, ODR_CONTEXT, 1, 1, "subqueryId") &&
13 odr_implicit_tag (o, odr_bool,
14 &(*p)->fullQuery, ODR_CONTEXT, 2, 0, "fullQuery") &&
15 odr_explicit_tag (o, z_QueryExpression,
16 &(*p)->subqueryExpression, ODR_CONTEXT, 3, 1, "subqueryExpression") &&
17 odr_explicit_tag (o, z_QueryExpression,
18 &(*p)->subqueryInterpretation, ODR_CONTEXT, 4, 1, "subqueryInterpretation") &&
19 odr_explicit_tag (o, z_QueryExpression,
20 &(*p)->subqueryRecommendation, ODR_CONTEXT, 5, 1, "subqueryRecommendation") &&
21 odr_implicit_tag (o, odr_integer,
22 &(*p)->subqueryCount, ODR_CONTEXT, 6, 1, "subqueryCount") &&
23 odr_implicit_tag (o, z_IntUnit,
24 &(*p)->subqueryWeight, ODR_CONTEXT, 7, 1, "subqueryWeight") &&
25 odr_implicit_tag (o, z_ResultsByDB,
26 &(*p)->resultsByDB, ODR_CONTEXT, 8, 1, "resultsByDB") &&
27 odr_sequence_end (o);
28}
29
30int z_SearchInfoReport (ODR o, Z_SearchInfoReport **p, int opt, const char *name)
31{
32 if (!odr_initmember (o, p, sizeof(**p)))
33 return opt && odr_ok(o);
34 if (odr_sequence_of (o, (Odr_fun) z_SearchInfoReport_s, &(*p)->elements,
35 &(*p)->num, name))
36 return 1;
37 *p = 0;
38 return opt && odr_ok(o);
39}
40
41int z_ResultsByDB_sList (ODR o, Z_ResultsByDB_sList **p, int opt, const char *name)
42{
43 if (!odr_initmember (o, p, sizeof(**p)))
44 return opt && odr_ok(o);
45 if (odr_sequence_of (o, (Odr_fun) z_DatabaseName, &(*p)->elements,
46 &(*p)->num, name))
47 return 1;
48 *p = 0;
49 return opt && odr_ok(o);
50}
51
52int z_ResultsByDB_s (ODR o, Z_ResultsByDB_s **p, int opt, const char *name)
53{
54 static Odr_arm arm[] = {
55 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ResultsByDB_s_all,
56 (Odr_fun) odr_null, "all"},
57 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ResultsByDB_s_list,
58 (Odr_fun) z_ResultsByDB_sList, "list"},
59 {-1, -1, -1, -1, (Odr_fun) 0, 0}
60 };
61 if (!odr_sequence_begin (o, p, sizeof(**p), name))
62 return opt && odr_ok (o);
63 return
64 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "databases") &&
65 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
66 odr_constructed_end (o) &&
67 odr_implicit_tag (o, odr_integer,
68 &(*p)->count, ODR_CONTEXT, 2, 1, "count") &&
69 odr_implicit_tag (o, z_InternationalString,
70 &(*p)->resultSetName, ODR_CONTEXT, 3, 1, "resultSetName") &&
71 odr_sequence_end (o);
72}
73
74int z_ResultsByDB (ODR o, Z_ResultsByDB **p, int opt, const char *name)
75{
76 if (!odr_initmember (o, p, sizeof(**p)))
77 return opt && odr_ok(o);
78 if (odr_sequence_of (o, (Odr_fun) z_ResultsByDB_s, &(*p)->elements,
79 &(*p)->num, name))
80 return 1;
81 *p = 0;
82 return opt && odr_ok(o);
83}
84
85int z_QueryExpressionTerm (ODR o, Z_QueryExpressionTerm **p, int opt, const char *name)
86{
87 if (!odr_sequence_begin (o, p, sizeof(**p), name))
88 return opt && odr_ok (o);
89 return
90 odr_explicit_tag (o, z_Term,
91 &(*p)->queryTerm, ODR_CONTEXT, 1, 0, "queryTerm") &&
92 odr_implicit_tag (o, z_InternationalString,
93 &(*p)->termComment, ODR_CONTEXT, 2, 1, "termComment") &&
94 odr_sequence_end (o);
95}
96
97int z_QueryExpression (ODR o, Z_QueryExpression **p, int opt, const char *name)
98{
99 static Odr_arm arm[] = {
100 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_QueryExpression_term,
101 (Odr_fun) z_QueryExpressionTerm, "term"},
102 {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_QueryExpression_query,
103 (Odr_fun) z_Query, "query"},
104 {-1, -1, -1, -1, (Odr_fun) 0, 0}
105 };
106 if (!odr_initmember(o, p, sizeof(**p)))
107 return opt && odr_ok(o);
108 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
109 return 1;
110 *p = 0;
111 return opt && odr_ok(o);
112}
Note: See TracBrowser for help on using the repository browser.