9ee6330744ffb995099994bcd458601a59d50c0b
[yaz-moved-to-github.git] / include / yaz / zes-exps.h
1 /* YC 0.2: Tue Feb 29 16:45:07 CET 2000 */
2 /* Module-H ESFormat-ExportSpecification */
3
4 #ifndef zes_exps_H
5 #define zes_exps_H
6
7 #include <yaz/odr.h>
8 #include <yaz/z-core.h>
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 typedef struct Z_ESExportSpecificationEsRequest Z_ESExportSpecificationEsRequest;
14 YAZ_EXPORT int z_ESExportSpecificationEsRequest (ODR o, Z_ESExportSpecificationEsRequest **p, int opt, const char *name);
15
16 typedef struct Z_ESExportSpecificationTaskPackage Z_ESExportSpecificationTaskPackage;
17 YAZ_EXPORT int z_ESExportSpecificationTaskPackage (ODR o, Z_ESExportSpecificationTaskPackage **p, int opt, const char *name);
18
19 typedef struct Z_ESExportSpecification Z_ESExportSpecification;
20 YAZ_EXPORT int z_ESExportSpecification (ODR o, Z_ESExportSpecification **p, int opt, const char *name);
21
22 typedef struct Z_ESOriginPartToKeep Z_ESOriginPartToKeep;
23 YAZ_EXPORT int z_ESOriginPartToKeep (ODR o, Z_ESOriginPartToKeep **p, int opt, const char *name);
24
25 typedef struct Z_ESDestinationOther Z_ESDestinationOther;
26 YAZ_EXPORT int z_ESDestinationOther (ODR o, Z_ESDestinationOther **p, int opt, const char *name);
27
28 typedef struct Z_ESDestination Z_ESDestination;
29 YAZ_EXPORT int z_ESDestination (ODR o, Z_ESDestination **p, int opt, const char *name);
30 #ifdef __cplusplus
31 }
32 #endif
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 struct Z_ESExportSpecificationEsRequest {
37         Z_ESOriginPartToKeep *toKeep;
38         Odr_null *notToKeep;
39 };
40
41 struct Z_ESExportSpecificationTaskPackage {
42         Z_ESOriginPartToKeep *originPart;
43         Odr_null *targetPart;
44 };
45
46 struct Z_ESExportSpecification {
47         int which;
48         union {
49                 Z_ESExportSpecificationEsRequest *esRequest;
50                 Z_ESExportSpecificationTaskPackage *taskPackage;
51 #define Z_ESExportSpecification_esRequest 1
52 #define Z_ESExportSpecification_taskPackage 2
53         } u;
54 };
55
56 struct Z_ESOriginPartToKeep {
57         Z_CompSpec *composition;
58         Z_ESDestination *exportDestination;
59 };
60
61 struct Z_ESDestinationOther {
62         Z_InternationalString *vehicle; /* OPT */
63         Z_InternationalString *destination;
64 };
65
66 struct Z_ESDestination {
67         int which;
68         union {
69                 Z_InternationalString *phoneNumber;
70                 Z_InternationalString *faxNumber;
71                 Z_InternationalString *x400address;
72                 Z_InternationalString *emailAddress;
73                 Z_InternationalString *pagerNumber;
74                 Z_InternationalString *ftpAddress;
75                 Z_InternationalString *ftamAddress;
76                 Z_InternationalString *printerAddress;
77                 Z_ESDestinationOther *other;
78 #define Z_ESDestination_phoneNumber 1
79 #define Z_ESDestination_faxNumber 2
80 #define Z_ESDestination_x400address 3
81 #define Z_ESDestination_emailAddress 4
82 #define Z_ESDestination_pagerNumber 5
83 #define Z_ESDestination_ftpAddress 6
84 #define Z_ESDestination_ftamAddress 7
85 #define Z_ESDestination_printerAddress 8
86 #define Z_ESDestination_other 9
87         } u;
88 };
89
90 #ifdef __cplusplus
91 }
92 #endif
93 #endif