📄 ill-core.c
字号:
/* Generated automatically by the YAZ ASN.1 Compiler 0.3 *//* Module-C: ISO-10161-ILL-1 */#include <yaz/ill-core.h>int ill_APDU (ODR o, ILL_APDU **p, int opt, const char *name){ static Odr_arm arm[] = { {-1, -1, -1, ILL_APDU_ILL_Request, (Odr_fun) ill_Request, "illRequest"}, {-1, -1, -1, ILL_APDU_Forward_Notification, (Odr_fun) ill_Forward_Notification, "Forward_Notification"}, {-1, -1, -1, ILL_APDU_Shipped, (Odr_fun) ill_Shipped, "Shipped"}, {-1, -1, -1, ILL_APDU_ILL_Answer, (Odr_fun) ill_Answer, "illAnswer"}, {-1, -1, -1, ILL_APDU_Conditional_Reply, (Odr_fun) ill_Conditional_Reply, "Conditional_Reply"}, {-1, -1, -1, ILL_APDU_Cancel, (Odr_fun) ill_Cancel, "Cancel"}, {-1, -1, -1, ILL_APDU_Cancel_Reply, (Odr_fun) ill_Cancel_Reply, "Cancel_Reply"}, {-1, -1, -1, ILL_APDU_Received, (Odr_fun) ill_Received, "Received"}, {-1, -1, -1, ILL_APDU_Recall, (Odr_fun) ill_Recall, "Recall"}, {-1, -1, -1, ILL_APDU_Returned, (Odr_fun) ill_Returned, "Returned"}, {-1, -1, -1, ILL_APDU_Checked_In, (Odr_fun) ill_Checked_In, "Checked_In"}, {-1, -1, -1, ILL_APDU_Overdue, (Odr_fun) ill_Overdue, "Overdue"}, {-1, -1, -1, ILL_APDU_Renew, (Odr_fun) ill_Renew, "Renew"}, {-1, -1, -1, ILL_APDU_Renew_Answer, (Odr_fun) ill_Renew_Answer, "Renew_Answer"}, {-1, -1, -1, ILL_APDU_Lost, (Odr_fun) ill_Lost, "Lost"}, {-1, -1, -1, ILL_APDU_Damaged, (Odr_fun) ill_Damaged, "Damaged"}, {-1, -1, -1, ILL_APDU_Message, (Odr_fun) ill_Message, "Message"}, {-1, -1, -1, ILL_APDU_Status_Query, (Odr_fun) ill_Status_Query, "Status_Query"}, {-1, -1, -1, ILL_APDU_Status_Or_Error_Report, (Odr_fun) ill_Status_Or_Error_Report, "Status_Or_Error_Report"}, {-1, -1, -1, ILL_APDU_Expired, (Odr_fun) ill_Expired, "Expired"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int ill_Request (ODR o, ILL_Request **p, int opt, const char *name){ if (!odr_constructed_begin (o, p, ODR_APPLICATION, 1, name)) return odr_missing(o, opt, name); if (o->direction == ODR_DECODE) *p = (ILL_Request *) odr_malloc (o, sizeof(**p)); if (!odr_sequence_begin (o, p, sizeof(**p), 0)) { *p = 0; return 0; } return odr_implicit_tag (o, odr_integer, &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && odr_implicit_tag (o, ill_Transaction_Id, &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && odr_implicit_tag (o, ill_Service_Date_Time, &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && odr_implicit_tag (o, ill_System_Id, &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && odr_implicit_tag (o, ill_System_Id, &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && odr_implicit_tag (o, ill_Transaction_Type, &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") && odr_implicit_tag (o, ill_Delivery_Address, &(*p)->delivery_address, ODR_CONTEXT, 6, 1, "delivery_address") && ill_Delivery_Service(o, &(*p)->delivery_service, 1, "delivery_service") && odr_implicit_tag (o, ill_Delivery_Address, &(*p)->billing_address, ODR_CONTEXT, 8, 1, "billing_address") && odr_implicit_settag (o, ODR_CONTEXT, 9) && odr_sequence_of(o, (Odr_fun) ill_Service_Type, &(*p)->iLL_service_type, &(*p)->num_iLL_service_type, "iLL_service_type") && odr_explicit_tag (o, odr_external, &(*p)->responder_specific_service, ODR_CONTEXT, 10, 1, "responder_specific_service") && odr_implicit_tag (o, ill_Requester_Optional_Messages_Type, &(*p)->requester_optional_messages, ODR_CONTEXT, 11, 0, "requester_optional_messages") && odr_implicit_tag (o, ill_Search_Type, &(*p)->search_type, ODR_CONTEXT, 12, 1, "search_type") && odr_implicit_settag (o, ODR_CONTEXT, 13) && (odr_sequence_of(o, (Odr_fun) ill_Supply_Medium_Info_Type, &(*p)->supply_medium_info_type, &(*p)->num_supply_medium_info_type, "supply_medium_info_type") || odr_ok(o)) && odr_implicit_tag (o, ill_Place_On_Hold_Type, &(*p)->place_on_hold, ODR_CONTEXT, 14, 0, "place_on_hold") && odr_implicit_tag (o, ill_Client_Id, &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") && odr_implicit_tag (o, ill_Item_Id, &(*p)->item_id, ODR_CONTEXT, 16, 0, "item_id") && odr_implicit_tag (o, ill_Supplemental_Item_Description, &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && odr_implicit_tag (o, ill_Cost_Info_Type, &(*p)->cost_info_type, ODR_CONTEXT, 18, 1, "cost_info_type") && odr_explicit_tag (o, ill_String, &(*p)->copyright_compliance, ODR_CONTEXT, 19, 1, "copyright_compliance") && odr_implicit_tag (o, ill_Third_Party_Info_Type, &(*p)->third_party_info_type, ODR_CONTEXT, 20, 1, "third_party_info_type") && odr_implicit_tag (o, odr_bool, &(*p)->retry_flag, ODR_CONTEXT, 21, 0, "retry_flag") && odr_implicit_tag (o, odr_bool, &(*p)->forward_flag, ODR_CONTEXT, 22, 0, "forward_flag") && odr_explicit_tag (o, ill_String, &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && odr_explicit_tag (o, ill_String, &(*p)->forward_note, ODR_CONTEXT, 47, 1, "forward_note") && odr_implicit_settag (o, ODR_CONTEXT, 49) && (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->iLL_request_extensions, &(*p)->num_iLL_request_extensions, "iLL_request_extensions") || odr_ok(o)) && odr_sequence_end (o) && odr_constructed_end (o);}int ill_Forward_Notification (ODR o, ILL_Forward_Notification **p, int opt, const char *name){ if (!odr_constructed_begin (o, p, ODR_APPLICATION, 2, name)) return odr_missing(o, opt, name); if (o->direction == ODR_DECODE) *p = (ILL_Forward_Notification *) odr_malloc (o, sizeof(**p)); if (!odr_sequence_begin (o, p, sizeof(**p), 0)) { *p = 0; return 0; } return odr_implicit_tag (o, odr_integer, &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && odr_implicit_tag (o, ill_Transaction_Id, &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && odr_implicit_tag (o, ill_Service_Date_Time, &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && odr_implicit_tag (o, ill_System_Id, &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && odr_implicit_tag (o, ill_System_Id, &(*p)->responder_id, ODR_CONTEXT, 4, 0, "responder_id") && odr_implicit_tag (o, ill_System_Address, &(*p)->responder_address, ODR_CONTEXT, 24, 1, "responder_address") && odr_implicit_tag (o, ill_System_Id, &(*p)->intermediary_id, ODR_CONTEXT, 25, 0, "intermediary_id") && odr_explicit_tag (o, ill_String, &(*p)->notification_note, ODR_CONTEXT, 48, 1, "notification_note") && odr_implicit_settag (o, ODR_CONTEXT, 49) && (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->forward_notification_extensions, &(*p)->num_forward_notification_extensions, "forward_notification_extensions") || odr_ok(o)) && odr_sequence_end (o) && odr_constructed_end (o);}int ill_Shipped (ODR o, ILL_Shipped **p, int opt, const char *name){ if (!odr_constructed_begin (o, p, ODR_APPLICATION, 3, name)) return odr_missing(o, opt, name); if (o->direction == ODR_DECODE) *p = (ILL_Shipped *) odr_malloc (o, sizeof(**p)); if (!odr_sequence_begin (o, p, sizeof(**p), 0)) { *p = 0; return 0; } return odr_implicit_tag (o, odr_integer, &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && odr_implicit_tag (o, ill_Transaction_Id, &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && odr_implicit_tag (o, ill_Service_Date_Time, &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && odr_implicit_tag (o, ill_System_Id, &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && odr_implicit_tag (o, ill_System_Id, &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && odr_implicit_tag (o, ill_System_Address, &(*p)->responder_address, ODR_CONTEXT, 24, 1, "responder_address") && odr_implicit_tag (o, ill_System_Id, &(*p)->intermediary_id, ODR_CONTEXT, 25, 1, "intermediary_id") && odr_implicit_tag (o, ill_System_Id, &(*p)->supplier_id, ODR_CONTEXT, 26, 1, "supplier_id") && odr_implicit_tag (o, ill_Client_Id, &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") && odr_implicit_tag (o, ill_Transaction_Type, &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") && odr_implicit_tag (o, ill_Supplemental_Item_Description, &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && odr_implicit_tag (o, ill_Shipped_Service_Type, &(*p)->shipped_service_type, ODR_CONTEXT, 27, 0, "shipped_service_type") && odr_implicit_tag (o, ill_Responder_Optional_Messages_Type, &(*p)->responder_optional_messages, ODR_CONTEXT, 28, 1, "responder_optional_messages") && odr_implicit_tag (o, ill_Supply_Details, &(*p)->supply_details, ODR_CONTEXT, 29, 0, "supply_details") && odr_implicit_tag (o, ill_Postal_Address, &(*p)->return_to_address, ODR_CONTEXT, 30, 1, "return_to_address") && odr_explicit_tag (o, ill_String, &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && odr_implicit_settag (o, ODR_CONTEXT, 49) && (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->shipped_extensions, &(*p)->num_shipped_extensions, "shipped_extensions") || odr_ok(o)) && odr_sequence_end (o) && odr_constructed_end (o);}int ill_Answer (ODR o, ILL_Answer **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_EXPLICIT, ODR_CONTEXT, 1, ILL_Answer_conditional_results, (Odr_fun) ill_Conditional_Results, "conditional_results"}, {ODR_EXPLICIT, ODR_CONTEXT, 2, ILL_Answer_retry_results, (Odr_fun) ill_Retry_Results, "retry_results"}, {ODR_EXPLICIT, ODR_CONTEXT, 3, ILL_Answer_unfilled_results, (Odr_fun) ill_Unfilled_Results, "unfilled_results"}, {ODR_EXPLICIT, ODR_CONTEXT, 4, ILL_Answer_locations_results, (Odr_fun) ill_Locations_Results, "locations_results"}, {ODR_EXPLICIT, ODR_CONTEXT, 5, ILL_Answer_will_supply_results, (Odr_fun) ill_Will_Supply_Results, "will_supply_results"}, {ODR_EXPLICIT, ODR_CONTEXT, 6, ILL_Answer_hold_placed_results, (Odr_fun) ill_Hold_Placed_Results, "hold_placed_results"}, {ODR_EXPLICIT, ODR_CONTEXT, 7, ILL_Answer_estimate_results, (Odr_fun) ill_Estimate_Results, "estimate_results"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_constructed_begin (o, p, ODR_APPLICATION, 4, name)) return odr_missing(o, opt, name); if (o->direction == ODR_DECODE) *p = (ILL_Answer *) odr_malloc (o, sizeof(**p)); if (!odr_sequence_begin (o, p, sizeof(**p), 0)) { *p = 0; return 0; } return odr_implicit_tag (o, odr_integer, &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && odr_implicit_tag (o, ill_Transaction_Id, &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && odr_implicit_tag (o, ill_Service_Date_Time, &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && odr_implicit_tag (o, ill_System_Id, &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && odr_implicit_tag (o, ill_System_Id, &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && odr_implicit_tag (o, ill_Transaction_Results, &(*p)->transaction_results, ODR_CONTEXT, 31, 0, "transaction_results") && ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 32, "results_explanation") && odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) && odr_constructed_end (o)) || odr_ok(o)) && odr_explicit_tag (o, odr_external, &(*p)->responder_specific_results, ODR_CONTEXT, 33, 1, "responder_specific_results") && odr_implicit_tag (o, ill_Supplemental_Item_Description, &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && odr_implicit_tag (o, ill_Send_To_List_Type, &(*p)->send_to_list, ODR_CONTEXT, 23, 1, "send_to_list") && odr_implicit_tag (o, ill_Already_Tried_List_Type, &(*p)->already_tried_list, ODR_CONTEXT, 34, 1, "already_tried_list") && odr_implicit_tag (o, ill_Responder_Optional_Messages_Type, &(*p)->responder_optional_messages, ODR_CONTEXT, 28, 1, "responder_optional_messages") && odr_explicit_tag (o, ill_String, &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && odr_implicit_settag (o, ODR_CONTEXT, 49) && (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->ill_answer_extensions, &(*p)->num_ill_answer_extensions, "ill_answer_extensions") || odr_ok(o)) && odr_sequence_end (o) && odr_constructed_end (o);}int ill_Conditional_Reply (ODR o, ILL_Conditional_Reply **p, int opt, const char *name){ if (!odr_constructed_begin (o, p, ODR_APPLICATION, 5, name)) return odr_missing(o, opt, name); if (o->direction == ODR_DECODE) *p = (ILL_Conditional_Reply *) odr_malloc (o, sizeof(**p)); if (!odr_sequence_begin (o, p, sizeof(**p), 0)) { *p = 0; return 0; } return odr_implicit_tag (o, odr_integer, &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && odr_implicit_tag (o, ill_Transaction_Id, &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && odr_implicit_tag (o, ill_Service_Date_Time, &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && odr_implicit_tag (o, ill_System_Id, &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && odr_implicit_tag (o, ill_System_Id, &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && odr_implicit_tag (o, odr_bool, &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") && odr_explicit_tag (o, ill_String, &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && odr_implicit_settag (o, ODR_CONTEXT, 49) && (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->conditional_reply_extensions, &(*p)->num_conditional_reply_extensions, "conditional_reply_extensions") || odr_ok(o)) && odr_sequence_end (o) && odr_constructed_end (o);}int ill_Cancel (ODR o, ILL_Cancel **p, int opt, const char *name){ if (!odr_constructed_begin (o, p, ODR_APPLICATION, 6, name)) return odr_missing(o, opt, name); if (o->direction == ODR_DECODE) *p = (ILL_Cancel *) odr_malloc (o, sizeof(**p)); if (!odr_sequence_begin (o, p, sizeof(**p), 0)) { *p = 0; return 0; } return odr_implicit_tag (o, odr_integer, &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && odr_implicit_tag (o, ill_Transaction_Id,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -