YAZ  5.23.1
item-req.c
Go to the documentation of this file.
1 
6 #if HAVE_CONFIG_H
7 #include <config.h>
8 #endif
9 
10 #include <yaz/item-req.h>
11 
12 int ill_ItemRequest(ODR o, ILL_ItemRequest **p, int opt, const char *name)
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)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") &&
20  &(*p)->transaction_id, ODR_CONTEXT, 1, 1, "transaction_id") &&
22  &(*p)->service_date_time, ODR_CONTEXT, 2, 1, "service_date_time") &&
24  &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") &&
26  &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") &&
28  &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") &&
30  &(*p)->delivery_address, ODR_CONTEXT, 6, 1, "delivery_address") &&
31  ill_Delivery_Service(o, &(*p)->delivery_service, 1, "delivery_service") &&
33  &(*p)->billing_address, ODR_CONTEXT, 8, 1, "billing_address") &&
35  (odr_sequence_of(o, (Odr_fun) ill_Service_Type, &(*p)->iLL_service_type,
36  &(*p)->num_iLL_service_type, "iLL_service_type") || odr_ok(o)) &&
38  &(*p)->responder_specific_service, ODR_CONTEXT, 10, 1, "responder_specific_service") &&
40  &(*p)->requester_optional_messages, ODR_CONTEXT, 11, 1, "requester_optional_messages") &&
42  &(*p)->search_type, ODR_CONTEXT, 12, 1, "search_type") &&
44  (odr_sequence_of(o, (Odr_fun) ill_Supply_Medium_Info_Type, &(*p)->supply_medium_info_type,
45  &(*p)->num_supply_medium_info_type, "supply_medium_info_type") || odr_ok(o)) &&
47  &(*p)->place_on_hold, ODR_CONTEXT, 14, 0, "place_on_hold") &&
49  &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") &&
51  &(*p)->item_id, ODR_CONTEXT, 16, 1, "item_id") &&
53  &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") &&
55  &(*p)->cost_info_type, ODR_CONTEXT, 18, 1, "cost_info_type") &&
57  &(*p)->copyright_compliance, ODR_CONTEXT, 19, 1, "copyright_compliance") &&
59  &(*p)->third_party_info_type, ODR_CONTEXT, 20, 1, "third_party_info_type") &&
61  &(*p)->retry_flag, ODR_CONTEXT, 21, 0, "retry_flag") &&
63  &(*p)->forward_flag, ODR_CONTEXT, 22, 0, "forward_flag") &&
65  &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") &&
67  &(*p)->forward_note, ODR_CONTEXT, 47, 1, "forward_note") &&
69  (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->iLL_request_extensions,
70  &(*p)->num_iLL_request_extensions, "iLL_request_extensions") || odr_ok(o)) &&
72 }
#define odr_ok(o)
Definition: odr.h:215
int ill_Third_Party_Info_Type(ODR o, ILL_Third_Party_Info_Type **p, int opt, const char *name)
Definition: ill-core.c:1657
#define odr_explicit_tag(o, t, p, cl, tg, opt, name)
Definition: odr.h:195
int ill_Extension(ODR o, ILL_Extension **p, int opt, const char *name)
Definition: ill-core.c:1112
#define odr_implicit_tag(o, t, p, cl, tg, opt, name)
Definition: odr.h:192
int odr_sequence_begin(ODR o, void *p, int size, const char *name)
Definition: odr_seq.c:15
int ill_Search_Type(ODR o, ILL_Search_Type **p, int opt, const char *name)
Definition: ill-core.c:1459
char * name
Definition: initopt.c:18
int ill_Service_Date_Time(ODR o, ILL_Service_Date_Time **p, int opt, const char *name)
Definition: ill-core.c:1530
int ill_Transaction_Id(ODR o, ILL_Transaction_Id **p, int opt, const char *name)
Definition: ill-core.c:1681
int ill_Client_Id(ODR o, ILL_Client_Id **p, int opt, const char *name)
Definition: ill-core.c:894
int ill_Cost_Info_Type(ODR o, ILL_Cost_Info_Type **p, int opt, const char *name)
Definition: ill-core.c:924
int ill_Delivery_Address(ODR o, ILL_Delivery_Address **p, int opt, const char *name)
Definition: ill-core.c:989
int odr_integer(ODR o, Odr_int **p, int opt, const char *name)
Definition: odr_int.c:19
int odr_bool(ODR o, Odr_bool **p, int opt, const char *name)
Definition: odr_bool.c:21
ASN.1 Module Z39.50-extendedService-ItemOrder-ItemRequest-1.
int odr_external(ODR o, Odr_external **p, int opt, const char *name)
Definition: odr_use.c:15
int ill_String(ODR o, ILL_String **p, int opt, const char *name)
Definition: ill-core.c:1188
int ill_Delivery_Service(ODR o, ILL_Delivery_Service **p, int opt, const char *name)
Definition: ill-core.c:1013
int odr_sequence_of(ODR o, Odr_fun type, void *p, int *num, const char *name)
Definition: odr_seq.c:134
int(* Odr_fun)(ODR, char **, int, const char *)
Definition: odr.h:135
int ill_System_Id(ODR o, ILL_System_Id **p, int opt, const char *name)
Definition: ill-core.c:1645
int ill_Requester_Optional_Messages_Type(ODR o, ILL_Requester_Optional_Messages_Type **p, int opt, const char *name)
Definition: ill-core.c:1412
int ill_Supply_Medium_Info_Type(ODR o, ILL_Supply_Medium_Info_Type **p, int opt, const char *name)
Definition: ill-core.c:1616
int odr_missing(ODR o, int opt, const char *name)
Definition: odr_util.c:82
Definition: odr.h:124
int odr_sequence_end(ODR o)
Definition: odr_seq.c:61
int ill_Service_Type(ODR o, ILL_Service_Type **p, int opt, const char *name)
Definition: ill-core.c:1183
int opt
Definition: initopt.c:19
int ill_Item_Id(ODR o, ILL_Item_Id **p, int opt, const char *name)
Definition: ill-core.c:1221
int ill_Place_On_Hold_Type(ODR o, ILL_Place_On_Hold_Type **p, int opt, const char *name)
Definition: ill-core.c:1343
int ill_Supplemental_Item_Description(ODR o, ILL_Supplemental_Item_Description **p, int opt, const char *name)
Definition: ill-core.c:1571
#define ODR_CONTEXT
Definition: odr.h:67
int ill_Transaction_Type(ODR o, ILL_Transaction_Type **p, int opt, const char *name)
Definition: ill-core.c:1707
int odr_implicit_settag(ODR o, int zclass, int tag)
Definition: odr_tag.c:32
int ill_ItemRequest(ODR o, ILL_ItemRequest **p, int opt, const char *name)
Definition: item-req.c:12