00001 00007 #include <yaz/ill-core.h> 00008 00009 int ill_APDU (ODR o, ILL_APDU **p, int opt, const char *name) 00010 { 00011 static Odr_arm arm[] = { 00012 {-1, -1, -1, ILL_APDU_ILL_Request, 00013 (Odr_fun) ill_Request, "illRequest"}, 00014 {-1, -1, -1, ILL_APDU_Forward_Notification, 00015 (Odr_fun) ill_Forward_Notification, "Forward_Notification"}, 00016 {-1, -1, -1, ILL_APDU_Shipped, 00017 (Odr_fun) ill_Shipped, "Shipped"}, 00018 {-1, -1, -1, ILL_APDU_ILL_Answer, 00019 (Odr_fun) ill_Answer, "illAnswer"}, 00020 {-1, -1, -1, ILL_APDU_Conditional_Reply, 00021 (Odr_fun) ill_Conditional_Reply, "Conditional_Reply"}, 00022 {-1, -1, -1, ILL_APDU_Cancel, 00023 (Odr_fun) ill_Cancel, "Cancel"}, 00024 {-1, -1, -1, ILL_APDU_Cancel_Reply, 00025 (Odr_fun) ill_Cancel_Reply, "Cancel_Reply"}, 00026 {-1, -1, -1, ILL_APDU_Received, 00027 (Odr_fun) ill_Received, "Received"}, 00028 {-1, -1, -1, ILL_APDU_Recall, 00029 (Odr_fun) ill_Recall, "Recall"}, 00030 {-1, -1, -1, ILL_APDU_Returned, 00031 (Odr_fun) ill_Returned, "Returned"}, 00032 {-1, -1, -1, ILL_APDU_Checked_In, 00033 (Odr_fun) ill_Checked_In, "Checked_In"}, 00034 {-1, -1, -1, ILL_APDU_Overdue, 00035 (Odr_fun) ill_Overdue, "Overdue"}, 00036 {-1, -1, -1, ILL_APDU_Renew, 00037 (Odr_fun) ill_Renew, "Renew"}, 00038 {-1, -1, -1, ILL_APDU_Renew_Answer, 00039 (Odr_fun) ill_Renew_Answer, "Renew_Answer"}, 00040 {-1, -1, -1, ILL_APDU_Lost, 00041 (Odr_fun) ill_Lost, "Lost"}, 00042 {-1, -1, -1, ILL_APDU_Damaged, 00043 (Odr_fun) ill_Damaged, "Damaged"}, 00044 {-1, -1, -1, ILL_APDU_Message, 00045 (Odr_fun) ill_Message, "Message"}, 00046 {-1, -1, -1, ILL_APDU_Status_Query, 00047 (Odr_fun) ill_Status_Query, "Status_Query"}, 00048 {-1, -1, -1, ILL_APDU_Status_Or_Error_Report, 00049 (Odr_fun) ill_Status_Or_Error_Report, "Status_Or_Error_Report"}, 00050 {-1, -1, -1, ILL_APDU_Expired, 00051 (Odr_fun) ill_Expired, "Expired"}, 00052 {-1, -1, -1, -1, (Odr_fun) 0, 0} 00053 }; 00054 if (!odr_initmember(o, p, sizeof(**p))) 00055 return odr_missing(o, opt, name); 00056 if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) 00057 return 1; 00058 if(o->direction == ODR_DECODE) 00059 *p = 0; 00060 return odr_missing(o, opt, name); 00061 } 00062 00063 int ill_Request (ODR o, ILL_Request **p, int opt, const char *name) 00064 { 00065 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 1, name)) 00066 return odr_missing(o, opt, name); 00067 if (o->direction == ODR_DECODE) 00068 *p = (ILL_Request *) odr_malloc (o, sizeof(**p)); 00069 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00070 { 00071 if(o->direction == ODR_DECODE) 00072 *p = 0; 00073 return 0; 00074 } 00075 return 00076 odr_implicit_tag (o, odr_integer, 00077 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00078 odr_implicit_tag (o, ill_Transaction_Id, 00079 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00080 odr_implicit_tag (o, ill_Service_Date_Time, 00081 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00082 odr_implicit_tag (o, ill_System_Id, 00083 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00084 odr_implicit_tag (o, ill_System_Id, 00085 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00086 odr_implicit_tag (o, ill_Transaction_Type, 00087 &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") && 00088 odr_implicit_tag (o, ill_Delivery_Address, 00089 &(*p)->delivery_address, ODR_CONTEXT, 6, 1, "delivery_address") && 00090 ill_Delivery_Service(o, &(*p)->delivery_service, 1, "delivery_service") && 00091 odr_implicit_tag (o, ill_Delivery_Address, 00092 &(*p)->billing_address, ODR_CONTEXT, 8, 1, "billing_address") && 00093 odr_implicit_settag (o, ODR_CONTEXT, 9) && 00094 odr_sequence_of(o, (Odr_fun) ill_Service_Type, &(*p)->iLL_service_type, 00095 &(*p)->num_iLL_service_type, "iLL_service_type") && 00096 odr_explicit_tag (o, odr_external, 00097 &(*p)->responder_specific_service, ODR_CONTEXT, 10, 1, "responder_specific_service") && 00098 odr_implicit_tag (o, ill_Requester_Optional_Messages_Type, 00099 &(*p)->requester_optional_messages, ODR_CONTEXT, 11, 0, "requester_optional_messages") && 00100 odr_implicit_tag (o, ill_Search_Type, 00101 &(*p)->search_type, ODR_CONTEXT, 12, 1, "search_type") && 00102 odr_implicit_settag (o, ODR_CONTEXT, 13) && 00103 (odr_sequence_of(o, (Odr_fun) ill_Supply_Medium_Info_Type, &(*p)->supply_medium_info_type, 00104 &(*p)->num_supply_medium_info_type, "supply_medium_info_type") || odr_ok(o)) && 00105 odr_implicit_tag (o, ill_Place_On_Hold_Type, 00106 &(*p)->place_on_hold, ODR_CONTEXT, 14, 0, "place_on_hold") && 00107 odr_implicit_tag (o, ill_Client_Id, 00108 &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") && 00109 odr_implicit_tag (o, ill_Item_Id, 00110 &(*p)->item_id, ODR_CONTEXT, 16, 0, "item_id") && 00111 odr_implicit_tag (o, ill_Supplemental_Item_Description, 00112 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && 00113 odr_implicit_tag (o, ill_Cost_Info_Type, 00114 &(*p)->cost_info_type, ODR_CONTEXT, 18, 1, "cost_info_type") && 00115 odr_explicit_tag (o, ill_String, 00116 &(*p)->copyright_compliance, ODR_CONTEXT, 19, 1, "copyright_compliance") && 00117 odr_implicit_tag (o, ill_Third_Party_Info_Type, 00118 &(*p)->third_party_info_type, ODR_CONTEXT, 20, 1, "third_party_info_type") && 00119 odr_implicit_tag (o, odr_bool, 00120 &(*p)->retry_flag, ODR_CONTEXT, 21, 0, "retry_flag") && 00121 odr_implicit_tag (o, odr_bool, 00122 &(*p)->forward_flag, ODR_CONTEXT, 22, 0, "forward_flag") && 00123 odr_explicit_tag (o, ill_String, 00124 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && 00125 odr_explicit_tag (o, ill_String, 00126 &(*p)->forward_note, ODR_CONTEXT, 47, 1, "forward_note") && 00127 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00128 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->iLL_request_extensions, 00129 &(*p)->num_iLL_request_extensions, "iLL_request_extensions") || odr_ok(o)) && 00130 odr_sequence_end (o) && 00131 odr_constructed_end (o); 00132 } 00133 00134 int ill_Forward_Notification (ODR o, ILL_Forward_Notification **p, int opt, const char *name) 00135 { 00136 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 2, name)) 00137 return odr_missing(o, opt, name); 00138 if (o->direction == ODR_DECODE) 00139 *p = (ILL_Forward_Notification *) odr_malloc (o, sizeof(**p)); 00140 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00141 { 00142 if(o->direction == ODR_DECODE) 00143 *p = 0; 00144 return 0; 00145 } 00146 return 00147 odr_implicit_tag (o, odr_integer, 00148 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00149 odr_implicit_tag (o, ill_Transaction_Id, 00150 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00151 odr_implicit_tag (o, ill_Service_Date_Time, 00152 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00153 odr_implicit_tag (o, ill_System_Id, 00154 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00155 odr_implicit_tag (o, ill_System_Id, 00156 &(*p)->responder_id, ODR_CONTEXT, 4, 0, "responder_id") && 00157 odr_implicit_tag (o, ill_System_Address, 00158 &(*p)->responder_address, ODR_CONTEXT, 24, 1, "responder_address") && 00159 odr_implicit_tag (o, ill_System_Id, 00160 &(*p)->intermediary_id, ODR_CONTEXT, 25, 0, "intermediary_id") && 00161 odr_explicit_tag (o, ill_String, 00162 &(*p)->notification_note, ODR_CONTEXT, 48, 1, "notification_note") && 00163 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00164 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->forward_notification_extensions, 00165 &(*p)->num_forward_notification_extensions, "forward_notification_extensions") || odr_ok(o)) && 00166 odr_sequence_end (o) && 00167 odr_constructed_end (o); 00168 } 00169 00170 int ill_Shipped (ODR o, ILL_Shipped **p, int opt, const char *name) 00171 { 00172 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 3, name)) 00173 return odr_missing(o, opt, name); 00174 if (o->direction == ODR_DECODE) 00175 *p = (ILL_Shipped *) odr_malloc (o, sizeof(**p)); 00176 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00177 { 00178 if(o->direction == ODR_DECODE) 00179 *p = 0; 00180 return 0; 00181 } 00182 return 00183 odr_implicit_tag (o, odr_integer, 00184 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00185 odr_implicit_tag (o, ill_Transaction_Id, 00186 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00187 odr_implicit_tag (o, ill_Service_Date_Time, 00188 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00189 odr_implicit_tag (o, ill_System_Id, 00190 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00191 odr_implicit_tag (o, ill_System_Id, 00192 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00193 odr_implicit_tag (o, ill_System_Address, 00194 &(*p)->responder_address, ODR_CONTEXT, 24, 1, "responder_address") && 00195 odr_implicit_tag (o, ill_System_Id, 00196 &(*p)->intermediary_id, ODR_CONTEXT, 25, 1, "intermediary_id") && 00197 odr_implicit_tag (o, ill_System_Id, 00198 &(*p)->supplier_id, ODR_CONTEXT, 26, 1, "supplier_id") && 00199 odr_implicit_tag (o, ill_Client_Id, 00200 &(*p)->client_id, ODR_CONTEXT, 15, 1, "client_id") && 00201 odr_implicit_tag (o, ill_Transaction_Type, 00202 &(*p)->transaction_type, ODR_CONTEXT, 5, 0, "transaction_type") && 00203 odr_implicit_tag (o, ill_Supplemental_Item_Description, 00204 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && 00205 odr_implicit_tag (o, ill_Shipped_Service_Type, 00206 &(*p)->shipped_service_type, ODR_CONTEXT, 27, 0, "shipped_service_type") && 00207 odr_implicit_tag (o, ill_Responder_Optional_Messages_Type, 00208 &(*p)->responder_optional_messages, ODR_CONTEXT, 28, 1, "responder_optional_messages") && 00209 odr_implicit_tag (o, ill_Supply_Details, 00210 &(*p)->supply_details, ODR_CONTEXT, 29, 0, "supply_details") && 00211 odr_implicit_tag (o, ill_Postal_Address, 00212 &(*p)->return_to_address, ODR_CONTEXT, 30, 1, "return_to_address") && 00213 odr_explicit_tag (o, ill_String, 00214 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00215 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00216 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->shipped_extensions, 00217 &(*p)->num_shipped_extensions, "shipped_extensions") || odr_ok(o)) && 00218 odr_sequence_end (o) && 00219 odr_constructed_end (o); 00220 } 00221 00222 int ill_Answer (ODR o, ILL_Answer **p, int opt, const char *name) 00223 { 00224 static Odr_arm arm[] = { 00225 {ODR_EXPLICIT, ODR_CONTEXT, 1, ILL_Answer_conditional_results, 00226 (Odr_fun) ill_Conditional_Results, "conditional_results"}, 00227 {ODR_EXPLICIT, ODR_CONTEXT, 2, ILL_Answer_retry_results, 00228 (Odr_fun) ill_Retry_Results, "retry_results"}, 00229 {ODR_EXPLICIT, ODR_CONTEXT, 3, ILL_Answer_unfilled_results, 00230 (Odr_fun) ill_Unfilled_Results, "unfilled_results"}, 00231 {ODR_EXPLICIT, ODR_CONTEXT, 4, ILL_Answer_locations_results, 00232 (Odr_fun) ill_Locations_Results, "locations_results"}, 00233 {ODR_EXPLICIT, ODR_CONTEXT, 5, ILL_Answer_will_supply_results, 00234 (Odr_fun) ill_Will_Supply_Results, "will_supply_results"}, 00235 {ODR_EXPLICIT, ODR_CONTEXT, 6, ILL_Answer_hold_placed_results, 00236 (Odr_fun) ill_Hold_Placed_Results, "hold_placed_results"}, 00237 {ODR_EXPLICIT, ODR_CONTEXT, 7, ILL_Answer_estimate_results, 00238 (Odr_fun) ill_Estimate_Results, "estimate_results"}, 00239 {-1, -1, -1, -1, (Odr_fun) 0, 0} 00240 }; 00241 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 4, name)) 00242 return odr_missing(o, opt, name); 00243 if (o->direction == ODR_DECODE) 00244 *p = (ILL_Answer *) odr_malloc (o, sizeof(**p)); 00245 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00246 { 00247 if(o->direction == ODR_DECODE) 00248 *p = 0; 00249 return 0; 00250 } 00251 return 00252 odr_implicit_tag (o, odr_integer, 00253 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00254 odr_implicit_tag (o, ill_Transaction_Id, 00255 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00256 odr_implicit_tag (o, ill_Service_Date_Time, 00257 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00258 odr_implicit_tag (o, ill_System_Id, 00259 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00260 odr_implicit_tag (o, ill_System_Id, 00261 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00262 odr_implicit_tag (o, ill_Transaction_Results, 00263 &(*p)->transaction_results, ODR_CONTEXT, 31, 0, "transaction_results") && 00264 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 32, "results_explanation") && 00265 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) && 00266 odr_constructed_end (o)) || odr_ok(o)) && 00267 odr_explicit_tag (o, odr_external, 00268 &(*p)->responder_specific_results, ODR_CONTEXT, 33, 1, "responder_specific_results") && 00269 odr_implicit_tag (o, ill_Supplemental_Item_Description, 00270 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && 00271 odr_implicit_tag (o, ill_Send_To_List_Type, 00272 &(*p)->send_to_list, ODR_CONTEXT, 23, 1, "send_to_list") && 00273 odr_implicit_tag (o, ill_Already_Tried_List_Type, 00274 &(*p)->already_tried_list, ODR_CONTEXT, 34, 1, "already_tried_list") && 00275 odr_implicit_tag (o, ill_Responder_Optional_Messages_Type, 00276 &(*p)->responder_optional_messages, ODR_CONTEXT, 28, 1, "responder_optional_messages") && 00277 odr_explicit_tag (o, ill_String, 00278 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00279 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00280 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->ill_answer_extensions, 00281 &(*p)->num_ill_answer_extensions, "ill_answer_extensions") || odr_ok(o)) && 00282 odr_sequence_end (o) && 00283 odr_constructed_end (o); 00284 } 00285 00286 int ill_Conditional_Reply (ODR o, ILL_Conditional_Reply **p, int opt, const char *name) 00287 { 00288 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 5, name)) 00289 return odr_missing(o, opt, name); 00290 if (o->direction == ODR_DECODE) 00291 *p = (ILL_Conditional_Reply *) odr_malloc (o, sizeof(**p)); 00292 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00293 { 00294 if(o->direction == ODR_DECODE) 00295 *p = 0; 00296 return 0; 00297 } 00298 return 00299 odr_implicit_tag (o, odr_integer, 00300 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00301 odr_implicit_tag (o, ill_Transaction_Id, 00302 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00303 odr_implicit_tag (o, ill_Service_Date_Time, 00304 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00305 odr_implicit_tag (o, ill_System_Id, 00306 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00307 odr_implicit_tag (o, ill_System_Id, 00308 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00309 odr_implicit_tag (o, odr_bool, 00310 &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") && 00311 odr_explicit_tag (o, ill_String, 00312 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && 00313 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00314 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->conditional_reply_extensions, 00315 &(*p)->num_conditional_reply_extensions, "conditional_reply_extensions") || odr_ok(o)) && 00316 odr_sequence_end (o) && 00317 odr_constructed_end (o); 00318 } 00319 00320 int ill_Cancel (ODR o, ILL_Cancel **p, int opt, const char *name) 00321 { 00322 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 6, name)) 00323 return odr_missing(o, opt, name); 00324 if (o->direction == ODR_DECODE) 00325 *p = (ILL_Cancel *) odr_malloc (o, sizeof(**p)); 00326 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00327 { 00328 if(o->direction == ODR_DECODE) 00329 *p = 0; 00330 return 0; 00331 } 00332 return 00333 odr_implicit_tag (o, odr_integer, 00334 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00335 odr_implicit_tag (o, ill_Transaction_Id, 00336 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00337 odr_implicit_tag (o, ill_Service_Date_Time, 00338 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00339 odr_implicit_tag (o, ill_System_Id, 00340 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00341 odr_implicit_tag (o, ill_System_Id, 00342 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00343 odr_explicit_tag (o, ill_String, 00344 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && 00345 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00346 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->cancel_extensions, 00347 &(*p)->num_cancel_extensions, "cancel_extensions") || odr_ok(o)) && 00348 odr_sequence_end (o) && 00349 odr_constructed_end (o); 00350 } 00351 00352 int ill_Cancel_Reply (ODR o, ILL_Cancel_Reply **p, int opt, const char *name) 00353 { 00354 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 7, name)) 00355 return odr_missing(o, opt, name); 00356 if (o->direction == ODR_DECODE) 00357 *p = (ILL_Cancel_Reply *) odr_malloc (o, sizeof(**p)); 00358 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00359 { 00360 if(o->direction == ODR_DECODE) 00361 *p = 0; 00362 return 0; 00363 } 00364 return 00365 odr_implicit_tag (o, odr_integer, 00366 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00367 odr_implicit_tag (o, ill_Transaction_Id, 00368 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00369 odr_implicit_tag (o, ill_Service_Date_Time, 00370 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00371 odr_implicit_tag (o, ill_System_Id, 00372 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00373 odr_implicit_tag (o, ill_System_Id, 00374 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00375 odr_implicit_tag (o, odr_bool, 00376 &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") && 00377 odr_explicit_tag (o, ill_String, 00378 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00379 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00380 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->cancel_reply_extensions, 00381 &(*p)->num_cancel_reply_extensions, "cancel_reply_extensions") || odr_ok(o)) && 00382 odr_sequence_end (o) && 00383 odr_constructed_end (o); 00384 } 00385 00386 int ill_Received (ODR o, ILL_Received **p, int opt, const char *name) 00387 { 00388 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 8, name)) 00389 return odr_missing(o, opt, name); 00390 if (o->direction == ODR_DECODE) 00391 *p = (ILL_Received *) odr_malloc (o, sizeof(**p)); 00392 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00393 { 00394 if(o->direction == ODR_DECODE) 00395 *p = 0; 00396 return 0; 00397 } 00398 return 00399 odr_implicit_tag (o, odr_integer, 00400 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00401 odr_implicit_tag (o, ill_Transaction_Id, 00402 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00403 odr_implicit_tag (o, ill_Service_Date_Time, 00404 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00405 odr_implicit_tag (o, ill_System_Id, 00406 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00407 odr_implicit_tag (o, ill_System_Id, 00408 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00409 odr_implicit_tag (o, ill_System_Id, 00410 &(*p)->supplier_id, ODR_CONTEXT, 26, 1, "supplier_id") && 00411 odr_implicit_tag (o, ill_Supplemental_Item_Description, 00412 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && 00413 odr_implicit_tag (o, ill_ISO_Date, 00414 &(*p)->date_received, ODR_CONTEXT, 36, 0, "date_received") && 00415 odr_implicit_tag (o, ill_Shipped_Service_Type, 00416 &(*p)->shipped_service_type, ODR_CONTEXT, 27, 0, "shipped_service_type") && 00417 odr_explicit_tag (o, ill_String, 00418 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && 00419 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00420 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->received_extensions, 00421 &(*p)->num_received_extensions, "received_extensions") || odr_ok(o)) && 00422 odr_sequence_end (o) && 00423 odr_constructed_end (o); 00424 } 00425 00426 int ill_Recall (ODR o, ILL_Recall **p, int opt, const char *name) 00427 { 00428 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 9, name)) 00429 return odr_missing(o, opt, name); 00430 if (o->direction == ODR_DECODE) 00431 *p = (ILL_Recall *) odr_malloc (o, sizeof(**p)); 00432 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00433 { 00434 if(o->direction == ODR_DECODE) 00435 *p = 0; 00436 return 0; 00437 } 00438 return 00439 odr_implicit_tag (o, odr_integer, 00440 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00441 odr_implicit_tag (o, ill_Transaction_Id, 00442 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00443 odr_implicit_tag (o, ill_Service_Date_Time, 00444 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00445 odr_implicit_tag (o, ill_System_Id, 00446 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00447 odr_implicit_tag (o, ill_System_Id, 00448 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00449 odr_explicit_tag (o, ill_String, 00450 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00451 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00452 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->recall_extensions, 00453 &(*p)->num_recall_extensions, "recall_extensions") || odr_ok(o)) && 00454 odr_sequence_end (o) && 00455 odr_constructed_end (o); 00456 } 00457 00458 int ill_Returned (ODR o, ILL_Returned **p, int opt, const char *name) 00459 { 00460 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 10, name)) 00461 return odr_missing(o, opt, name); 00462 if (o->direction == ODR_DECODE) 00463 *p = (ILL_Returned *) odr_malloc (o, sizeof(**p)); 00464 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00465 { 00466 if(o->direction == ODR_DECODE) 00467 *p = 0; 00468 return 0; 00469 } 00470 return 00471 odr_implicit_tag (o, odr_integer, 00472 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00473 odr_implicit_tag (o, ill_Transaction_Id, 00474 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00475 odr_implicit_tag (o, ill_Service_Date_Time, 00476 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00477 odr_implicit_tag (o, ill_System_Id, 00478 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00479 odr_implicit_tag (o, ill_System_Id, 00480 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00481 odr_implicit_tag (o, ill_Supplemental_Item_Description, 00482 &(*p)->supplemental_item_description, ODR_CONTEXT, 17, 1, "supplemental_item_description") && 00483 odr_implicit_tag (o, ill_ISO_Date, 00484 &(*p)->date_returned, ODR_CONTEXT, 37, 0, "date_returned") && 00485 odr_explicit_tag (o, ill_Transportation_Mode, 00486 &(*p)->returned_via, ODR_CONTEXT, 38, 1, "returned_via") && 00487 odr_implicit_tag (o, ill_Amount, 00488 &(*p)->insured_for, ODR_CONTEXT, 39, 1, "insured_for") && 00489 odr_explicit_tag (o, ill_String, 00490 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && 00491 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00492 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->returned_extensions, 00493 &(*p)->num_returned_extensions, "returned_extensions") || odr_ok(o)) && 00494 odr_sequence_end (o) && 00495 odr_constructed_end (o); 00496 } 00497 00498 int ill_Checked_In (ODR o, ILL_Checked_In **p, int opt, const char *name) 00499 { 00500 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 11, name)) 00501 return odr_missing(o, opt, name); 00502 if (o->direction == ODR_DECODE) 00503 *p = (ILL_Checked_In *) odr_malloc (o, sizeof(**p)); 00504 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00505 { 00506 if(o->direction == ODR_DECODE) 00507 *p = 0; 00508 return 0; 00509 } 00510 return 00511 odr_implicit_tag (o, odr_integer, 00512 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00513 odr_implicit_tag (o, ill_Transaction_Id, 00514 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00515 odr_implicit_tag (o, ill_Service_Date_Time, 00516 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00517 odr_implicit_tag (o, ill_System_Id, 00518 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00519 odr_implicit_tag (o, ill_System_Id, 00520 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00521 odr_implicit_tag (o, ill_ISO_Date, 00522 &(*p)->date_checked_in, ODR_CONTEXT, 40, 0, "date_checked_in") && 00523 odr_explicit_tag (o, ill_String, 00524 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00525 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00526 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->checked_in_extensions, 00527 &(*p)->num_checked_in_extensions, "checked_in_extensions") || odr_ok(o)) && 00528 odr_sequence_end (o) && 00529 odr_constructed_end (o); 00530 } 00531 00532 int ill_Overdue_ExtensionS (ODR o, ILL_Overdue_ExtensionS **p, int opt, const char *name) 00533 { 00534 if (!odr_initmember (o, p, sizeof(**p))) 00535 return odr_missing(o, opt, name); 00536 if (odr_sequence_of (o, (Odr_fun) ill_Extension, &(*p)->elements, 00537 &(*p)->num, name)) 00538 return 1; 00539 if(o->direction == ODR_DECODE) 00540 *p = 0; 00541 return odr_missing(o, opt, name); 00542 } 00543 00544 int ill_Overdue (ODR o, ILL_Overdue **p, int opt, const char *name) 00545 { 00546 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 12, name)) 00547 return odr_missing(o, opt, name); 00548 if (o->direction == ODR_DECODE) 00549 *p = (ILL_Overdue *) odr_malloc (o, sizeof(**p)); 00550 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00551 { 00552 if(o->direction == ODR_DECODE) 00553 *p = 0; 00554 return 0; 00555 } 00556 return 00557 odr_implicit_tag (o, odr_integer, 00558 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00559 odr_implicit_tag (o, ill_Transaction_Id, 00560 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00561 odr_implicit_tag (o, ill_Service_Date_Time, 00562 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00563 odr_implicit_tag (o, ill_System_Id, 00564 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00565 odr_implicit_tag (o, ill_System_Id, 00566 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00567 odr_implicit_tag (o, ill_Date_Due, 00568 &(*p)->date_due, ODR_CONTEXT, 41, 0, "date_due") && 00569 odr_explicit_tag (o, ill_String, 00570 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00571 odr_explicit_tag (o, ill_Overdue_ExtensionS, 00572 &(*p)->overdue_extensions, ODR_CONTEXT, 49, 1, "overdue_extensions") && 00573 odr_sequence_end (o) && 00574 odr_constructed_end (o); 00575 } 00576 00577 int ill_Renew (ODR o, ILL_Renew **p, int opt, const char *name) 00578 { 00579 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 13, name)) 00580 return odr_missing(o, opt, name); 00581 if (o->direction == ODR_DECODE) 00582 *p = (ILL_Renew *) odr_malloc (o, sizeof(**p)); 00583 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00584 { 00585 if(o->direction == ODR_DECODE) 00586 *p = 0; 00587 return 0; 00588 } 00589 return 00590 odr_implicit_tag (o, odr_integer, 00591 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00592 odr_implicit_tag (o, ill_Transaction_Id, 00593 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00594 odr_implicit_tag (o, ill_Service_Date_Time, 00595 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00596 odr_implicit_tag (o, ill_System_Id, 00597 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00598 odr_implicit_tag (o, ill_System_Id, 00599 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00600 odr_implicit_tag (o, ill_ISO_Date, 00601 &(*p)->desired_due_date, ODR_CONTEXT, 42, 1, "desired_due_date") && 00602 odr_explicit_tag (o, ill_String, 00603 &(*p)->requester_note, ODR_CONTEXT, 46, 1, "requester_note") && 00604 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00605 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->renew_extensions, 00606 &(*p)->num_renew_extensions, "renew_extensions") || odr_ok(o)) && 00607 odr_sequence_end (o) && 00608 odr_constructed_end (o); 00609 } 00610 00611 int ill_Renew_Answer (ODR o, ILL_Renew_Answer **p, int opt, const char *name) 00612 { 00613 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 14, name)) 00614 return odr_missing(o, opt, name); 00615 if (o->direction == ODR_DECODE) 00616 *p = (ILL_Renew_Answer *) odr_malloc (o, sizeof(**p)); 00617 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00618 { 00619 if(o->direction == ODR_DECODE) 00620 *p = 0; 00621 return 0; 00622 } 00623 return 00624 odr_implicit_tag (o, odr_integer, 00625 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00626 odr_implicit_tag (o, ill_Transaction_Id, 00627 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00628 odr_implicit_tag (o, ill_Service_Date_Time, 00629 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00630 odr_implicit_tag (o, ill_System_Id, 00631 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00632 odr_implicit_tag (o, ill_System_Id, 00633 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00634 odr_implicit_tag (o, odr_bool, 00635 &(*p)->answer, ODR_CONTEXT, 35, 0, "answer") && 00636 odr_implicit_tag (o, ill_Date_Due, 00637 &(*p)->date_due, ODR_CONTEXT, 41, 1, "date_due") && 00638 odr_explicit_tag (o, ill_String, 00639 &(*p)->responder_note, ODR_CONTEXT, 46, 1, "responder_note") && 00640 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00641 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->renew_answer_extensions, 00642 &(*p)->num_renew_answer_extensions, "renew_answer_extensions") || odr_ok(o)) && 00643 odr_sequence_end (o) && 00644 odr_constructed_end (o); 00645 } 00646 00647 int ill_Lost (ODR o, ILL_Lost **p, int opt, const char *name) 00648 { 00649 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 15, name)) 00650 return odr_missing(o, opt, name); 00651 if (o->direction == ODR_DECODE) 00652 *p = (ILL_Lost *) odr_malloc (o, sizeof(**p)); 00653 if (!odr_sequence_begin (o, p, sizeof(**p), 0)) 00654 { 00655 if(o->direction == ODR_DECODE) 00656 *p = 0; 00657 return 0; 00658 } 00659 return 00660 odr_implicit_tag (o, odr_integer, 00661 &(*p)->protocol_version_num, ODR_CONTEXT, 0, 0, "protocol_version_num") && 00662 odr_implicit_tag (o, ill_Transaction_Id, 00663 &(*p)->transaction_id, ODR_CONTEXT, 1, 0, "transaction_id") && 00664 odr_implicit_tag (o, ill_Service_Date_Time, 00665 &(*p)->service_date_time, ODR_CONTEXT, 2, 0, "service_date_time") && 00666 odr_implicit_tag (o, ill_System_Id, 00667 &(*p)->requester_id, ODR_CONTEXT, 3, 1, "requester_id") && 00668 odr_implicit_tag (o, ill_System_Id, 00669 &(*p)->responder_id, ODR_CONTEXT, 4, 1, "responder_id") && 00670 odr_explicit_tag (o, ill_String, 00671 &(*p)->note, ODR_CONTEXT, 46, 1, "note") && 00672 odr_implicit_settag (o, ODR_CONTEXT, 49) && 00673 (odr_sequence_of(o, (Odr_fun) ill_Extension, &(*p)->lost_extensions, 00674 &(*p)->num_lost_extensions, "lost_extensions") || odr_ok(o)) && 00675 odr_sequence_end (o) && 00676 odr_constructed_end (o); 00677 } 00678 00679 int ill_Damaged (ODR o, ILL_Damaged **p, int opt, const char *name) 00680 { 00681 if (!odr_constructed_begin (o, p, ODR_APPLICATION, 16, name)) 00682 return odr_missing(o, opt, name); 00683 if (o->direction == OD