00001
00007 #ifndef zes_exps_H
00008 #define zes_exps_H
00009
00010 #include <yaz/odr.h>
00011 #include <yaz/z-core.h>
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00016 typedef struct Z_ESExportSpecificationEsRequest Z_ESExportSpecificationEsRequest;
00017 YAZ_EXPORT int z_ESExportSpecificationEsRequest (ODR o, Z_ESExportSpecificationEsRequest **p, int opt, const char *name);
00018
00019 typedef struct Z_ESExportSpecificationTaskPackage Z_ESExportSpecificationTaskPackage;
00020 YAZ_EXPORT int z_ESExportSpecificationTaskPackage (ODR o, Z_ESExportSpecificationTaskPackage **p, int opt, const char *name);
00021
00022 typedef struct Z_ESExportSpecification Z_ESExportSpecification;
00023 YAZ_EXPORT int z_ESExportSpecification (ODR o, Z_ESExportSpecification **p, int opt, const char *name);
00024
00025 typedef struct Z_ESOriginPartToKeep Z_ESOriginPartToKeep;
00026 YAZ_EXPORT int z_ESOriginPartToKeep (ODR o, Z_ESOriginPartToKeep **p, int opt, const char *name);
00027
00028 typedef struct Z_ESDestinationOther Z_ESDestinationOther;
00029 YAZ_EXPORT int z_ESDestinationOther (ODR o, Z_ESDestinationOther **p, int opt, const char *name);
00030
00031 typedef struct Z_ESDestination Z_ESDestination;
00032 YAZ_EXPORT int z_ESDestination (ODR o, Z_ESDestination **p, int opt, const char *name);
00033 #ifdef __cplusplus
00034 }
00035 #endif
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 struct Z_ESExportSpecificationEsRequest {
00040 Z_ESOriginPartToKeep *toKeep;
00041 Odr_null *notToKeep;
00042 };
00043
00044 struct Z_ESExportSpecificationTaskPackage {
00045 Z_ESOriginPartToKeep *originPart;
00046 Odr_null *targetPart;
00047 };
00048
00049 struct Z_ESExportSpecification {
00050 int which;
00051 union {
00052 Z_ESExportSpecificationEsRequest *esRequest;
00053 Z_ESExportSpecificationTaskPackage *taskPackage;
00054 #define Z_ESExportSpecification_esRequest 1
00055 #define Z_ESExportSpecification_taskPackage 2
00056 } u;
00057 };
00058
00059 struct Z_ESOriginPartToKeep {
00060 Z_CompSpec *composition;
00061 Z_ESDestination *exportDestination;
00062 };
00063
00064 struct Z_ESDestinationOther {
00065 Z_InternationalString *vehicle;
00066 Z_InternationalString *destination;
00067 };
00068
00069 struct Z_ESDestination {
00070 int which;
00071 union {
00072 Z_InternationalString *phoneNumber;
00073 Z_InternationalString *faxNumber;
00074 Z_InternationalString *x400address;
00075 Z_InternationalString *emailAddress;
00076 Z_InternationalString *pagerNumber;
00077 Z_InternationalString *ftpAddress;
00078 Z_InternationalString *ftamAddress;
00079 Z_InternationalString *printerAddress;
00080 Z_ESDestinationOther *other;
00081 #define Z_ESDestination_phoneNumber 1
00082 #define Z_ESDestination_faxNumber 2
00083 #define Z_ESDestination_x400address 3
00084 #define Z_ESDestination_emailAddress 4
00085 #define Z_ESDestination_pagerNumber 5
00086 #define Z_ESDestination_ftpAddress 6
00087 #define Z_ESDestination_ftamAddress 7
00088 #define Z_ESDestination_printerAddress 8
00089 #define Z_ESDestination_other 9
00090 } u;
00091 };
00092
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096 #endif