3ecee3f1c6b8cf8713724cc0e2ea363eea03d0d7
[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.1  1996-10-10 11:51:58  quinn
28  * Added SerchResult additional info
29  *
30  *
31  */
32
33 #ifndef PRT_ADD_H
34 #define PRT_ADD_H
35
36 typedef struct Z_QueryExpressionTerm
37 {
38     Z_Term *queryTerm;
39     char *termComment;              /* OPTIONAL */
40 } Z_QueryExpressionTerm;
41
42 typedef struct Z_QueryExpression
43 {
44     int which;
45 #define Z_QueryExpression_term 1
46 #define Z_QueryExpression_query 2
47     union {
48         Z_QueryExpressionTerm *term;
49         Z_Query *query;
50     } u;
51 } Z_QueryExpression;
52
53 typedef struct Z_ResultsByDBList
54 {
55     int num;
56     Z_DatabaseName **elements;
57 } Z_ResultsByDBList;
58
59 typedef struct Z_ResultsByDB_elem
60 {
61     int which;
62 #define Z_ResultsByDB_all 1
63 #define Z_ResultsByDB_list 2
64     union {
65         Odr_null *all;
66         Z_ResultsByDBList *list;
67     } u;
68     int *count;                           /* OPTIONAL */
69     char *resultSetName; /* OPTIONAL */
70 } Z_ResultsByDB_elem;
71
72 typedef struct Z_ResultsByDB
73 {
74     int num;
75     Z_ResultsByDB_elem **elements;
76 } Z_ResultsByDB;
77
78 typedef struct Z_SearchInfoReport_elem
79 {
80     char *subqueryId;                          /* OPTIONAL */
81     bool_t *fullQuery;
82     Z_QueryExpression *subqueryExpression;     /* OPTIONAL */
83     Z_QueryExpression *subqueryInterpretation; /* OPTIONAL */
84     Z_QueryExpression *subqueryRecommendation; /* OPTIONAL */
85     int *subqueryCount;                        /* OPTIONAL */
86     Z_IntUnit *subqueryWeight;                 /* OPTIONAL */
87     Z_ResultsByDB *resultsByDB;                /* OPTIONAL */
88 } Z_SearchInfoReport_elem;
89
90 typedef struct Z_SearchInfoReport
91 {
92     int num;
93     Z_SearchInfoReport_elem **elements;
94 } Z_SearchInfoReport;
95
96 int z_SearchInfoReport (ODR o, Z_SearchInfoReport **p, int opt);
97
98 #endif