c1fc994ec68c31b06937a2d4d4b9547015a8e370
[yaz-moved-to-github.git] / include / yaz / zes-expi.h
1 /* YC 0.2: Wed Mar 01 10:28:12 CET 2000 */
2 /* Module-H ESFormat-ExportInvocation */
3
4 #ifndef zes_expi_H
5 #define zes_expi_H
6
7 #include <yaz/odr.h>
8 #include <yaz/z-core.h>
9 #include <yaz/zes-exps.h>
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 typedef struct Z_EIExportInvocationEsRequest Z_EIExportInvocationEsRequest;
15 YAZ_EXPORT int z_EIExportInvocationEsRequest (ODR o, Z_EIExportInvocationEsRequest **p, int opt, const char *name);
16
17 typedef struct Z_EIExportInvocationTaskPackage Z_EIExportInvocationTaskPackage;
18 YAZ_EXPORT int z_EIExportInvocationTaskPackage (ODR o, Z_EIExportInvocationTaskPackage **p, int opt, const char *name);
19
20 typedef struct Z_EIExportInvocation Z_EIExportInvocation;
21 YAZ_EXPORT int z_EIExportInvocation (ODR o, Z_EIExportInvocation **p, int opt, const char *name);
22
23 typedef struct Z_EIOriginPartToKeep Z_EIOriginPartToKeep;
24 YAZ_EXPORT int z_EIOriginPartToKeep (ODR o, Z_EIOriginPartToKeep **p, int opt, const char *name);
25
26 typedef struct Z_EIOriginPartNotToKeepRanges_s Z_EIOriginPartNotToKeepRanges_s;
27 YAZ_EXPORT int z_EIOriginPartNotToKeepRanges_s (ODR o, Z_EIOriginPartNotToKeepRanges_s **p, int opt, const char *name);
28
29 typedef struct Z_EIOriginPartNotToKeepRanges Z_EIOriginPartNotToKeepRanges;
30 YAZ_EXPORT int z_EIOriginPartNotToKeepRanges (ODR o, Z_EIOriginPartNotToKeepRanges **p, int opt, const char *name);
31
32 typedef struct Z_EIOriginPartNotToKeep Z_EIOriginPartNotToKeep;
33 YAZ_EXPORT int z_EIOriginPartNotToKeep (ODR o, Z_EIOriginPartNotToKeep **p, int opt, const char *name);
34
35 typedef struct Z_EITargetPart Z_EITargetPart;
36 YAZ_EXPORT int z_EITargetPart (ODR o, Z_EITargetPart **p, int opt, const char *name);
37 #ifdef __cplusplus
38 }
39 #endif
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 struct Z_EIExportInvocationEsRequest {
44         Z_EIOriginPartToKeep *toKeep;
45         Z_EIOriginPartNotToKeep *notToKeep;
46 };
47
48 struct Z_EIExportInvocationTaskPackage {
49         Z_EIOriginPartToKeep *originPart;
50         Z_EITargetPart *targetPart; /* OPT */
51 };
52
53 struct Z_EIExportInvocation {
54         int which;
55         union {
56                 Z_EIExportInvocationEsRequest *esRequest;
57                 Z_EIExportInvocationTaskPackage *taskPackage;
58 #define Z_EIExportInvocation_esRequest 1
59 #define Z_EIExportInvocation_taskPackage 2
60         } u;
61 };
62
63 struct Z_EIOriginPartToKeep {
64         int which;
65         union {
66                 Z_InternationalString *packageName;
67                 Z_ESExportSpecification *packageSpec;
68 #define Z_EIOriginPartToKeep_packageName 1
69 #define Z_EIOriginPartToKeep_packageSpec 2
70         } u;
71         int *numberOfCopies;
72 };
73
74 struct Z_EIOriginPartNotToKeepRanges_s {
75         int *start;
76         int *count; /* OPT */
77 };
78
79 struct Z_EIOriginPartNotToKeepRanges {
80         int num;
81         Z_EIOriginPartNotToKeepRanges_s **elements;
82 };
83
84 struct Z_EIOriginPartNotToKeep {
85         Z_InternationalString *resultSetId;
86         int which;
87         union {
88                 Odr_null *all;
89                 Z_EIOriginPartNotToKeepRanges *ranges;
90 #define Z_EIOriginPartNotToKeep_all 1
91 #define Z_EIOriginPartNotToKeep_ranges 2
92         } u;
93 };
94
95 struct Z_EITargetPart {
96         Z_IntUnit *estimatedQuantity; /* OPT */
97         Z_IntUnit *quantitySoFar; /* OPT */
98         Z_IntUnit *estimatedCost; /* OPT */
99         Z_IntUnit *costSoFar; /* OPT */
100 };
101
102 #ifdef __cplusplus
103 }
104 #endif
105 #endif