fc66b357bd61baa6976287e0a67fb20204f2a38e
[yaz-moved-to-github.git] / include / yaz / zes-update.h
1 /* YC 0.2: Tue Feb 29 15:20:49 CET 2000 */
2 /* Module-H ESFormat-Update */
3
4 #ifndef zes_update_H
5 #define zes_update_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_IUUpdateEsRequest Z_IUUpdateEsRequest;
14 YAZ_EXPORT int z_IUUpdateEsRequest (ODR o, Z_IUUpdateEsRequest **p, int opt, const char *name);
15
16 typedef struct Z_IUUpdateTaskPackage Z_IUUpdateTaskPackage;
17 YAZ_EXPORT int z_IUUpdateTaskPackage (ODR o, Z_IUUpdateTaskPackage **p, int opt, const char *name);
18
19 typedef struct Z_IUUpdate Z_IUUpdate;
20 YAZ_EXPORT int z_IUUpdate (ODR o, Z_IUUpdate **p, int opt, const char *name);
21
22 typedef struct Z_IUOriginPartToKeep Z_IUOriginPartToKeep;
23 YAZ_EXPORT int z_IUOriginPartToKeep (ODR o, Z_IUOriginPartToKeep **p, int opt, const char *name);
24
25 typedef struct Z_IUTargetPart Z_IUTargetPart;
26 YAZ_EXPORT int z_IUTargetPart (ODR o, Z_IUTargetPart **p, int opt, const char *name);
27
28 typedef struct Z_IUSuppliedRecordsId Z_IUSuppliedRecordsId;
29 YAZ_EXPORT int z_IUSuppliedRecordsId (ODR o, Z_IUSuppliedRecordsId **p, int opt, const char *name);
30
31 typedef struct Z_IUSuppliedRecords_elem Z_IUSuppliedRecords_elem;
32 YAZ_EXPORT int z_IUSuppliedRecords_elem (ODR o, Z_IUSuppliedRecords_elem **p, int opt, const char *name);
33
34 typedef struct Z_IUSuppliedRecords Z_IUSuppliedRecords;
35 YAZ_EXPORT int z_IUSuppliedRecords (ODR o, Z_IUSuppliedRecords **p, int opt, const char *name);
36
37 typedef Z_IUSuppliedRecords  Z_IUOriginPartNotToKeep;
38 YAZ_EXPORT int z_IUOriginPartNotToKeep (ODR o, Z_IUOriginPartNotToKeep **p, int opt, const char *name);
39
40 typedef struct Z_IUCorrelationInfo Z_IUCorrelationInfo;
41 YAZ_EXPORT int z_IUCorrelationInfo (ODR o, Z_IUCorrelationInfo **p, int opt, const char *name);
42
43 typedef struct Z_IUTaskPackageRecordStructureSurrogateDiagnostics Z_IUTaskPackageRecordStructureSurrogateDiagnostics;
44 YAZ_EXPORT int z_IUTaskPackageRecordStructureSurrogateDiagnostics (ODR o, Z_IUTaskPackageRecordStructureSurrogateDiagnostics **p, int opt, const char *name);
45
46 typedef struct Z_IUTaskPackageRecordStructure Z_IUTaskPackageRecordStructure;
47 YAZ_EXPORT int z_IUTaskPackageRecordStructure (ODR o, Z_IUTaskPackageRecordStructure **p, int opt, const char *name);
48 #ifdef __cplusplus
49 }
50 #endif
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 struct Z_IUUpdateEsRequest {
55         Z_IUOriginPartToKeep *toKeep;
56         Z_IUOriginPartNotToKeep *notToKeep;
57 };
58
59 struct Z_IUUpdateTaskPackage {
60         Z_IUOriginPartToKeep *originPart;
61         Z_IUTargetPart *targetPart;
62 };
63
64 struct Z_IUUpdate {
65         int which;
66         union {
67                 Z_IUUpdateEsRequest *esRequest;
68                 Z_IUUpdateTaskPackage *taskPackage;
69 #define Z_IUUpdate_esRequest 1
70 #define Z_IUUpdate_taskPackage 2
71         } u;
72 };
73
74 struct Z_IUOriginPartToKeep {
75 #define Z_IUOriginPartToKeep_recordInsert 1
76 #define Z_IUOriginPartToKeep_recordReplace 2
77 #define Z_IUOriginPartToKeep_recordDelete 3
78 #define Z_IUOriginPartToKeep_elementUpdate 4
79 #define Z_IUOriginPartToKeep_specialUpdate 5
80         int *action;
81         Z_InternationalString *databaseName;
82         Odr_oid *schema; /* OPT */
83         Z_InternationalString *elementSetName; /* OPT */
84         Z_External *actionQualifier; /* OPT */
85 };
86
87
88
89 struct Z_IUTargetPart {
90 #define Z_IUTargetPart_success 1
91 #define Z_IUTargetPart_partial 2
92 #define Z_IUTargetPart_failure 3
93         int *updateStatus;
94         int num_globalDiagnostics;
95         Z_DiagRec **globalDiagnostics; /* OPT */
96         int num_taskPackageRecords;
97         Z_IUTaskPackageRecordStructure **taskPackageRecords;
98 };
99
100 struct Z_IUSuppliedRecordsId {
101         int which;
102         union {
103                 char *timeStamp;
104                 Z_InternationalString *versionNumber;
105                 Z_External *previousVersion;
106 #define Z_IUSuppliedRecordsId_timeStamp 1
107 #define Z_IUSuppliedRecordsId_versionNumber 2
108 #define Z_IUSuppliedRecordsId_previousVersion 3
109         } u;
110 };
111
112 struct Z_IUSuppliedRecords_elem {
113         int which;
114         union {
115                 int *number;
116                 Z_InternationalString *string;
117                 Odr_oct *opaque;
118 #define Z_IUSuppliedRecords_elem_number 1
119 #define Z_IUSuppliedRecords_elem_string 2
120 #define Z_IUSuppliedRecords_elem_opaque 3
121         } u; /* OPT */
122         Z_IUSuppliedRecordsId *supplementalId; /* OPT */
123         Z_IUCorrelationInfo *correlationInfo; /* OPT */
124         Z_External *record;
125 };
126
127 struct Z_IUSuppliedRecords {
128         int num;
129         Z_IUSuppliedRecords_elem **elements;
130 };
131
132 struct Z_IUCorrelationInfo {
133         Z_InternationalString *note; /* OPT */
134         int *id; /* OPT */
135 };
136
137 struct Z_IUTaskPackageRecordStructureSurrogateDiagnostics {
138         int num;
139         Z_DiagRec **elements;
140 };
141
142 struct Z_IUTaskPackageRecordStructure {
143         int which;
144         union {
145                 Z_External *record;
146                 Z_IUTaskPackageRecordStructureSurrogateDiagnostics *surrogateDiagnostics;
147 #define Z_IUTaskPackageRecordStructure_record 1
148 #define Z_IUTaskPackageRecordStructure_surrogateDiagnostics 2
149         } u; /* OPT */
150         Z_IUCorrelationInfo *correlationInfo; /* OPT */
151 #define Z_IUTaskPackageRecordStructure_success 1
152 #define Z_IUTaskPackageRecordStructure_queued 2
153 #define Z_IUTaskPackageRecordStructure_inProcess 3
154 #define Z_IUTaskPackageRecordStructure_failure 4
155         int *recordStatus;
156         int num_supplementalDiagnostics;
157         Z_DiagRec **supplementalDiagnostics; /* OPT */
158 };
159
160 #ifdef __cplusplus
161 }
162 #endif
163 #endif