Added files.
[yaz-moved-to-github.git] / z39.50 / z-estask.c
1 /* YC 0.2 Tue Feb 29 16:45:07 CET 2000 */
2 /* Module-C: RecordSyntax-ESTaskPackage */
3
4 #include <yaz/z-estask.h>
5
6 int z_TaskPackage (ODR o, Z_TaskPackage **p, int opt, const char *name)
7 {
8         if (!odr_sequence_begin (o, p, sizeof(**p), name))
9                 return opt && odr_ok (o);
10         return
11                 odr_implicit_tag (o, odr_oid,
12                         &(*p)->packageType, ODR_CONTEXT, 1, 0, "packageType") &&
13                 odr_implicit_tag (o, z_InternationalString,
14                         &(*p)->packageName, ODR_CONTEXT, 2, 1, "packageName") &&
15                 odr_implicit_tag (o, z_InternationalString,
16                         &(*p)->userId, ODR_CONTEXT, 3, 1, "userId") &&
17                 odr_implicit_tag (o, z_IntUnit,
18                         &(*p)->retentionTime, ODR_CONTEXT, 4, 1, "retentionTime") &&
19                 odr_implicit_tag (o, z_Permissions,
20                         &(*p)->permissions, ODR_CONTEXT, 5, 1, "permissions") &&
21                 odr_implicit_tag (o, z_InternationalString,
22                         &(*p)->description, ODR_CONTEXT, 6, 1, "description") &&
23                 odr_implicit_tag (o, odr_octetstring,
24                         &(*p)->targetReference, ODR_CONTEXT, 7, 1, "targetReference") &&
25                 odr_implicit_tag (o, odr_generalizedtime,
26                         &(*p)->creationDateTime, ODR_CONTEXT, 8, 1, "creationDateTime") &&
27                 odr_implicit_tag (o, odr_integer,
28                         &(*p)->taskStatus, ODR_CONTEXT, 9, 0, "taskStatus") &&
29                 odr_implicit_settag (o, ODR_CONTEXT, 10) &&
30                 (odr_sequence_of(o, (Odr_fun) z_DiagRec, &(*p)->packageDiagnostics,
31                   &(*p)->num_packageDiagnostics, "packageDiagnostics") || odr_ok(o)) &&
32                 odr_implicit_tag (o, z_External,
33                         &(*p)->taskSpecificParameters, ODR_CONTEXT, 11, 0, "taskSpecificParameters") &&
34                 odr_sequence_end (o);
35 }