Fix sample PQF
[yaz-moved-to-github.git] / asn / prt-add.h
1 /*
2  * Copyright (c) 1995, Index Data.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and
5  * its documentation, in whole or in part, for any purpose, is hereby granted,
6  * provided that:
7  *
8  * 1. This copyright and permission notice appear in all copies of the
9  * software and its documentation. Notices of copyright or attribution
10  * which appear at the beginning of any file must remain unchanged.
11  *
12  * 2. The name of Index Data or the individual authors may not be used to
13  * endorse or promote products derived from this software without specific
14  * prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18  * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19  * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20  * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22  * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
24  * OF THIS SOFTWARE.
25  *
26  * $Log: prt-add.h,v $
27  * Revision 1.1  2000-10-03 12:55:50  adam
28  * Removed several auto-generated files from CVS.
29  *
30  * Revision 1.1  1999/11/30 13:47:11  adam
31  * Improved installation. Moved header files to include/yaz.
32  *
33  * Revision 1.4  1999/04/20 09:56:48  adam
34  * Added 'name' paramter to encoder/decoder routines (typedef Odr_fun).
35  * Modified all encoders/decoders to reflect this change.
36  *
37  * Revision 1.3  1997/05/14 06:53:46  adam
38  * C++ support.
39  *
40  * Revision 1.2  1997/04/30 08:52:09  quinn
41  * Null
42  *
43  * Revision 1.1  1996/10/10  11:51:58  quinn
44  * Added SerchResult additional info
45  *
46  *
47  */
48
49 #ifndef PRT_ADD_H
50 #define PRT_ADD_H
51
52 #ifdef __cplusplus
53 extern "C" {
54 #endif
55
56 typedef struct Z_QueryExpressionTerm
57 {
58     Z_Term *queryTerm;
59     char *termComment;              /* OPTIONAL */
60 } Z_QueryExpressionTerm;
61
62 typedef struct Z_QueryExpression
63 {
64     int which;
65 #define Z_QueryExpression_term 1
66 #define Z_QueryExpression_query 2
67     union {
68         Z_QueryExpressionTerm *term;
69         Z_Query *query;
70     } u;
71 } Z_QueryExpression;
72
73 typedef struct Z_ResultsByDBList
74 {
75     int num;
76     Z_DatabaseName **elements;
77 } Z_ResultsByDBList;
78
79 typedef struct Z_ResultsByDB_elem
80 {
81     int which;
82 #define Z_ResultsByDB_all 1
83 #define Z_ResultsByDB_list 2
84     union {
85         Odr_null *all;
86         Z_ResultsByDBList *list;
87     } u;
88     int *count;                           /* OPTIONAL */
89     char *resultSetName; /* OPTIONAL */
90 } Z_ResultsByDB_elem;
91
92 typedef struct Z_ResultsByDB
93 {
94     int num;
95     Z_ResultsByDB_elem **elements;
96 } Z_ResultsByDB;
97
98 typedef struct Z_SearchInfoReport_elem
99 {
100     char *subqueryId;                          /* OPTIONAL */
101     bool_t *fullQuery;
102     Z_QueryExpression *subqueryExpression;     /* OPTIONAL */
103     Z_QueryExpression *subqueryInterpretation; /* OPTIONAL */
104     Z_QueryExpression *subqueryRecommendation; /* OPTIONAL */
105     int *subqueryCount;                        /* OPTIONAL */
106     Z_IntUnit *subqueryWeight;                 /* OPTIONAL */
107     Z_ResultsByDB *resultsByDB;                /* OPTIONAL */
108 } Z_SearchInfoReport_elem;
109
110 typedef struct Z_SearchInfoReport
111 {
112     int num;
113     Z_SearchInfoReport_elem **elements;
114 } Z_SearchInfoReport;
115
116 int z_SearchInfoReport (ODR o, Z_SearchInfoReport **p, int opt,
117                         const char *name);
118
119 #ifdef __cplusplus
120 }
121 #endif
122
123 #endif