YAZ 5.35.1
zes-update0.c
Go to the documentation of this file.
1
6#if HAVE_CONFIG_H
7#include <config.h>
8#endif
9
10#include <yaz/zes-update0.h>
11
13{
14 if (!odr_sequence_begin(o, p, sizeof(**p), name))
15 return odr_missing(o, opt, name) && odr_ok (o);
16 return
18 &(*p)->toKeep, ODR_CONTEXT, 1, 0, "toKeep") &&
20 &(*p)->notToKeep, ODR_CONTEXT, 2, 0, "notToKeep") &&
22}
23
25{
26 if (!odr_sequence_begin(o, p, sizeof(**p), name))
27 return odr_missing(o, opt, name) && odr_ok (o);
28 return
30 &(*p)->originPart, ODR_CONTEXT, 1, 0, "originPart") &&
32 &(*p)->targetPart, ODR_CONTEXT, 2, 0, "targetPart") &&
34}
35
36int z_IU0Update(ODR o, Z_IU0Update **p, int opt, const char *name)
37{
38 static Odr_arm arm[] = {
40 (Odr_fun) z_IU0UpdateEsRequest, "esRequest"},
42 (Odr_fun) z_IU0UpdateTaskPackage, "taskPackage"},
43 {-1, -1, -1, -1, (Odr_fun) 0, 0}
44 };
45 if (!odr_initmember(o, p, sizeof(**p)))
46 return odr_missing(o, opt, name);
47 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
48 return 1;
49 if (o->direction == ODR_DECODE)
50 *p = 0;
51 return odr_missing(o, opt, name);
52}
53
55{
56 if (!odr_sequence_begin(o, p, sizeof(**p), name))
57 return odr_missing(o, opt, name) && odr_ok (o);
58 return
60 &(*p)->action, ODR_CONTEXT, 1, 0, "action") &&
62 &(*p)->databaseName, ODR_CONTEXT, 2, 0, "databaseName") &&
64 &(*p)->schema, ODR_CONTEXT, 3, 1, "schema") &&
66 &(*p)->elementSetName, ODR_CONTEXT, 4, 1, "elementSetName") &&
68}
69
71{
72 return z_IU0SuppliedRecords (o, p, opt, name);
73}
74
75int z_IU0TargetPart(ODR o, Z_IU0TargetPart **p, int opt, const char *name)
76{
77 if (!odr_sequence_begin(o, p, sizeof(**p), name))
78 return odr_missing(o, opt, name) && odr_ok (o);
79 return
81 &(*p)->updateStatus, ODR_CONTEXT, 1, 0, "updateStatus") &&
83 (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->globalDiagnostics,
84 &(*p)->num_globalDiagnostics, "globalDiagnostics") || odr_ok(o)) &&
86 (odr_sequence_of(o, (Odr_fun) z_IU0TaskPackageRecordStructure, &(*p)->taskPackageRecords,
87 &(*p)->num_taskPackageRecords, "taskPackageRecords") || odr_ok(o)) &&
89}
90
92{
93 static Odr_arm arm[] = {
95 (Odr_fun) odr_generalizedtime, "timeStamp"},
97 (Odr_fun) z_InternationalString, "versionNumber"},
99 (Odr_fun) z_External, "previousVersion"},
100 {-1, -1, -1, -1, (Odr_fun) 0, 0}
101 };
102 if (!odr_initmember(o, p, sizeof(**p)))
103 return odr_missing(o, opt, name);
104 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
105 return 1;
106 if (o->direction == ODR_DECODE)
107 *p = 0;
108 return odr_missing(o, opt, name);
109}
110
112{
113 static Odr_arm arm[] = {
115 (Odr_fun) odr_integer, "number"},
117 (Odr_fun) z_InternationalString, "string"},
119 (Odr_fun) odr_octetstring, "opaque"},
120 {-1, -1, -1, -1, (Odr_fun) 0, 0}
121 };
122 if (!odr_sequence_begin(o, p, sizeof(**p), name))
123 return odr_missing(o, opt, name) && odr_ok (o);
124 return
125 ((odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "recordId") &&
126 odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
127 odr_constructed_end(o)) || odr_ok(o)) &&
129 &(*p)->supplementalId, ODR_CONTEXT, 2, 1, "supplementalId") &&
131 &(*p)->correlationInfo, ODR_CONTEXT, 3, 1, "correlationInfo") &&
133 &(*p)->record, ODR_CONTEXT, 4, 0, "record") &&
135}
136
138{
139 if (!odr_initmember(o, p, sizeof(**p)))
140 return odr_missing(o, opt, name);
141 if (odr_sequence_of(o, (Odr_fun) z_IU0SuppliedRecords_elem, &(*p)->elements,
142 &(*p)->num, name))
143 return 1;
144 if (o->direction == ODR_DECODE)
145 *p = 0;
146 return odr_missing(o, opt, name);
147}
148
150{
151 if (!odr_sequence_begin(o, p, sizeof(**p), name))
152 return odr_missing(o, opt, name) && odr_ok (o);
153 return
155 &(*p)->note, ODR_CONTEXT, 1, 1, "note") &&
157 &(*p)->id, ODR_CONTEXT, 2, 1, "id") &&
159}
160
162{
163 static Odr_arm arm[] = {
165 (Odr_fun) z_External, "record"},
167 (Odr_fun) z_DiagRec, "diagnostic"},
168 {-1, -1, -1, -1, (Odr_fun) 0, 0}
169 };
170 if (!odr_sequence_begin(o, p, sizeof(**p), name))
171 return odr_missing(o, opt, name) && odr_ok (o);
172 return
173 ((odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "recordOrSurDiag") &&
174 odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
175 odr_constructed_end(o)) || odr_ok(o)) &&
177 &(*p)->correlationInfo, ODR_CONTEXT, 2, 1, "correlationInfo") &&
179 &(*p)->recordStatus, ODR_CONTEXT, 3, 0, "recordStatus") &&
181}
int opt
Definition initopt.c:19
char * name
Definition initopt.c:18
#define ODR_DECODE
Definition odr.h:95
#define ODR_EXPLICIT
Definition odr.h:60
#define odr_ok(o)
Definition odr.h:215
#define odr_explicit_tag(o, t, p, cl, tg, opt, name)
Definition odr.h:195
#define ODR_IMPLICIT
Definition odr.h:59
#define ODR_CONTEXT
Definition odr.h:67
int(* Odr_fun)(ODR, char **, int, const char *)
Definition odr.h:135
#define odr_implicit_tag(o, t, p, cl, tg, opt, name)
Definition odr.h:192
int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp, const char *name)
Definition odr_choice.c:17
int odr_constructed_end(ODR o)
Definition odr_cons.c:148
int odr_constructed_begin(ODR o, void *xxp, int zclass, int tag, const char *name)
Definition odr_cons.c:24
int odr_integer(ODR o, Odr_int **p, int opt, const char *name)
Definition odr_int.c:19
int odr_octetstring(ODR o, Odr_oct **p, int opt, const char *name)
Definition odr_oct.c:19
int odr_oid(ODR o, Odr_oid **p, int opt, const char *name)
Definition odr_oid.c:20
int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num, const char *name)
Definition odr_seq.c:134
int odr_sequence_end(ODR o)
Definition odr_seq.c:61
int odr_sequence_begin(ODR o, void *p, int size, const char *name)
Definition odr_seq.c:15
int odr_initmember(ODR o, void *p, int size)
Definition odr_tag.c:44
int odr_implicit_settag(ODR o, int zclass, int tag)
Definition odr_tag.c:32
int odr_generalizedtime(ODR o, char **p, int opt, const char *name)
Definition odr_use.c:63
int odr_missing(ODR o, int opt, const char *name)
Definition odr_util.c:82
int z_External(ODR o, Z_External **p, int opt, const char *name)
codec for BER EXTERNAL
Definition prt-ext.c:95
Definition odr.h:138
int which
Definition odr.h:142
Definition odr.h:125
int direction
Definition odr.h:126
int z_InternationalString(ODR o, Z_InternationalString **p, int opt, const char *name)
Definition z-core.c:1598
int z_DiagRec(ODR o, Z_DiagRec **p, int opt, const char *name)
Definition z-core.c:637
int z_IU0CorrelationInfo(ODR o, Z_IU0CorrelationInfo **p, int opt, const char *name)
int z_IU0OriginPartToKeep(ODR o, Z_IU0OriginPartToKeep **p, int opt, const char *name)
Definition zes-update0.c:54
int z_IU0SuppliedRecords(ODR o, Z_IU0SuppliedRecords **p, int opt, const char *name)
int z_IU0UpdateTaskPackage(ODR o, Z_IU0UpdateTaskPackage **p, int opt, const char *name)
Definition zes-update0.c:24
int z_IU0TaskPackageRecordStructure(ODR o, Z_IU0TaskPackageRecordStructure **p, int opt, const char *name)
int z_IU0TargetPart(ODR o, Z_IU0TargetPart **p, int opt, const char *name)
Definition zes-update0.c:75
int z_IU0SuppliedRecordsId(ODR o, Z_IU0SuppliedRecordsId **p, int opt, const char *name)
Definition zes-update0.c:91
int z_IU0SuppliedRecords_elem(ODR o, Z_IU0SuppliedRecords_elem **p, int opt, const char *name)
int z_IU0OriginPartNotToKeep(ODR o, Z_IU0OriginPartNotToKeep **p, int opt, const char *name)
Definition zes-update0.c:70
int z_IU0Update(ODR o, Z_IU0Update **p, int opt, const char *name)
Definition zes-update0.c:36
int z_IU0UpdateEsRequest(ODR o, Z_IU0UpdateEsRequest **p, int opt, const char *name)
Definition zes-update0.c:12
ASN.1 Module ESFormat-Update0.
#define Z_IU0SuppliedRecordsId_timeStamp
#define Z_IU0Update_taskPackage
Definition zes-update0.h:70
#define Z_IU0SuppliedRecords_elem_opaque
#define Z_IU0SuppliedRecords_elem_number
#define Z_IU0SuppliedRecords_elem_string
#define Z_IU0SuppliedRecordsId_previousVersion
#define Z_IU0TaskPackageRecordStructure_record
#define Z_IU0SuppliedRecordsId_versionNumber
#define Z_IU0TaskPackageRecordStructure_diagnostic
#define Z_IU0Update_esRequest
Definition zes-update0.h:69