Fixed Makefile(s).
[yaz-moved-to-github.git] / include / 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.3  1997-05-14 06:53:46  adam
28  * C++ support.
29  *
30  * Revision 1.2  1997/04/30 08:52:09  quinn
31  * Null
32  *
33  * Revision 1.1  1996/10/10  11:51:58  quinn
34  * Added SerchResult additional info
35  *
36  *
37  */
38
39 #ifndef PRT_ADD_H
40 #define PRT_ADD_H
41
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45
46 typedef struct Z_QueryExpressionTerm
47 {
48     Z_Term *queryTerm;
49     char *termComment;              /* OPTIONAL */
50 } Z_QueryExpressionTerm;
51
52 typedef struct Z_QueryExpression
53 {
54     int which;
55 #define Z_QueryExpression_term 1
56 #define Z_QueryExpression_query 2
57     union {
58         Z_QueryExpressionTerm *term;
59         Z_Query *query;
60     } u;
61 } Z_QueryExpression;
62
63 typedef struct Z_ResultsByDBList
64 {
65     int num;
66     Z_DatabaseName **elements;
67 } Z_ResultsByDBList;
68
69 typedef struct Z_ResultsByDB_elem
70 {
71     int which;
72 #define Z_ResultsByDB_all 1
73 #define Z_ResultsByDB_list 2
74     union {
75         Odr_null *all;
76         Z_ResultsByDBList *list;
77     } u;
78     int *count;                           /* OPTIONAL */
79     char *resultSetName; /* OPTIONAL */
80 } Z_ResultsByDB_elem;
81
82 typedef struct Z_ResultsByDB
83 {
84     int num;
85     Z_ResultsByDB_elem **elements;
86 } Z_ResultsByDB;
87
88 typedef struct Z_SearchInfoReport_elem
89 {
90     char *subqueryId;                          /* OPTIONAL */
91     bool_t *fullQuery;
92     Z_QueryExpression *subqueryExpression;     /* OPTIONAL */
93     Z_QueryExpression *subqueryInterpretation; /* OPTIONAL */
94     Z_QueryExpression *subqueryRecommendation; /* OPTIONAL */
95     int *subqueryCount;                        /* OPTIONAL */
96     Z_IntUnit *subqueryWeight;                 /* OPTIONAL */
97     Z_ResultsByDB *resultsByDB;                /* OPTIONAL */
98 } Z_SearchInfoReport_elem;
99
100 typedef struct Z_SearchInfoReport
101 {
102     int num;
103     Z_SearchInfoReport_elem **elements;
104 } Z_SearchInfoReport;
105
106 int z_SearchInfoReport (ODR o, Z_SearchInfoReport **p, int opt);
107
108 #ifdef __cplusplus
109 }
110 #endif
111
112 #endif