YAZ  5.23.1
ill-get.c
Go to the documentation of this file.
1 /* This file is part of the YAZ toolkit.
2  * Copyright (C) Index Data
3  * See the file LICENSE for details.
4  */
9 #if HAVE_CONFIG_H
10 #include <config.h>
11 #endif
12 
13 #include <stdlib.h>
14 #include <yaz/ill.h>
15 
16 bool_t *ill_get_bool(struct ill_get_ctl *gc, const char *name,
17  const char *sub, int val)
18 {
19  ODR o = gc->odr;
20  char element[128];
21  const char *v;
22  bool_t *r = (bool_t *) odr_malloc(o, sizeof(*r));
23 
24  strcpy(element, name);
25  if (sub)
26  {
27  strcat(element, ",");
28  strcat(element, sub);
29  }
30 
31  v = (gc->f)(gc->clientData, element);
32  if (v)
33  val = atoi(v);
34  else if (val < 0)
35  return 0;
36  *r = val;
37  return r;
38 }
39 
40 Odr_int *ill_get_int(struct ill_get_ctl *gc, const char *name,
41  const char *sub, Odr_int val)
42 {
43  ODR o = gc->odr;
44  char element[128];
45  const char *v;
46 
47  strcpy(element, name);
48  if (sub)
49  {
50  strcat(element, ",");
51  strcat(element, sub);
52  }
53  v = (gc->f)(gc->clientData, element);
54  if (v)
55  val = atoi(v);
56  return odr_intdup(o, val);
57 }
58 
59 Odr_int *ill_get_enumerated(struct ill_get_ctl *gc, const char *name,
60  const char *sub, Odr_int val)
61 {
62  return ill_get_int(gc, name, sub, val);
63 }
64 
66  const char *sub, const char *vdefault)
67 {
68  ILL_String *r = (ILL_String *) odr_malloc(gc->odr, sizeof(*r));
69  char element[128];
70  const char *v;
71 
72  strcpy(element, name);
73  if (sub)
74  {
75  strcat(element, ",");
76  strcat(element, sub);
77  }
78  v = (gc->f)(gc->clientData, element);
79  if (!v)
80  v = vdefault;
81  if (!v)
82  return 0;
84  r->u.GeneralString = odr_strdup(gc->odr, v);
85  return r;
86 }
87 
88 ILL_String *ill_get_ILL_String(struct ill_get_ctl *gc, const char *name,
89  const char *sub)
90 {
91  return ill_get_ILL_String_x(gc, name, sub, 0);
92 }
93 
95  const char *sub, const char *val)
96 {
97  char element[128];
98  const char *v;
99 
100  strcpy(element, name);
101  if (sub)
102  {
103  strcat(element, ",");
104  strcat(element, sub);
105  }
106  v = (gc->f)(gc->clientData, element);
107  if (!v)
108  v = val;
109  if (!v)
110  return 0;
111  return odr_strdup(gc->odr, v);
112 }
113 
115  const char *sub, const char *val)
116 {
117  char element[128];
118  const char *v;
119 
120  strcpy(element, name);
121  if (sub)
122  {
123  strcat(element, ",");
124  strcat(element, sub);
125  }
126  v = (gc->f)(gc->clientData, element);
127  if (!v)
128  v = val;
129  if (!v)
130  return 0;
131  return odr_strdup(gc->odr, v);
132 }
133 
135  struct ill_get_ctl *gc, const char *name, const char *sub)
136 {
137  char element[128];
138  ODR o = gc->odr;
140  (ILL_Person_Or_Institution_Symbol *) odr_malloc(o, sizeof(*p));
141 
142  strcpy(element, name);
143  if (sub)
144  {
145  strcat(element, ",");
146  strcat(element, sub);
147  }
149  if ((p->u.person_symbol = ill_get_ILL_String(gc, element, "person")))
150  return p;
151 
153  if ((p->u.institution_symbol =
154  ill_get_ILL_String(gc, element, "institution")))
155  return p;
156  return 0;
157 }
158 
160  struct ill_get_ctl *gc, const char *name, const char *sub)
161 {
162  char element[128];
163  ODR o = gc->odr;
166 
167  strcpy(element, name);
168  if (sub)
169  {
170  strcat(element, ",");
171  strcat(element, sub);
172  }
174  if ((p->u.name_of_person =
175  ill_get_ILL_String(gc, element, "name-of-person")))
176  return p;
177 
179  if ((p->u.name_of_institution =
180  ill_get_ILL_String(gc, element, "name-of-institution")))
181  return p;
182  return 0;
183 }
184 
186  const char *name, const char *sub)
187 {
188  ODR o = gc->odr;
189  char element[128];
190  ILL_System_Id *p;
191 
192  strcpy(element, name);
193  if (sub)
194  {
195  strcat(element, ",");
196  strcat(element, sub);
197  }
198  p = (ILL_System_Id *) odr_malloc(o, sizeof(*p));
200  gc, element, "person-or-institution-symbol");
202  gc, element, "name-of-person-or-institution");
203  return p;
204 }
205 
207  const char *name, const char *sub)
208 {
209  ODR o = gc->odr;
210  ILL_Transaction_Id *r = (ILL_Transaction_Id *) odr_malloc(o, sizeof(*r));
211  char element[128];
212 
213  strcpy(element, name);
214  if (sub)
215  {
216  strcat(element, ",");
217  strcat(element, sub);
218  }
220  ill_get_System_Id(gc, element, "initial-requester-id");
222  ill_get_ILL_String_x(gc, element, "transaction-group-qualifier", "");
224  ill_get_ILL_String_x(gc, element, "transaction-qualifier", "");
226  ill_get_ILL_String(gc, element, "sub-transaction-qualifier");
227  return r;
228 }
229 
230 
232  struct ill_get_ctl *gc, const char *name, const char *sub)
233 {
234  ODR o = gc->odr;
236  (ILL_Service_Date_this *) odr_malloc(o, sizeof(*r));
237  char element[128];
238 
239  strcpy(element, name);
240  if (sub)
241  {
242  strcat(element, ",");
243  strcat(element, sub);
244  }
245  r->date = ill_get_ILL_ISO_Date(gc, element, "date", "20000101");
246  r->time = ill_get_ILL_ISO_Time(gc, element, "time", 0);
247  return r;
248 }
249 
251  struct ill_get_ctl *gc, const char *name, const char *sub)
252 {
253  ODR o = gc->odr;
255  (ILL_Service_Date_original *) odr_malloc(o, sizeof(*r));
256  char element[128];
257 
258  strcpy(element, name);
259  if (sub)
260  {
261  strcat(element, ",");
262  strcat(element, sub);
263  }
264  r->date = ill_get_ILL_ISO_Date(gc, element, "date", 0);
265  r->time = ill_get_ILL_ISO_Time(gc, element, "time", 0);
266  if (!r->date && !r->time)
267  return 0;
268  return r;
269 }
270 
272  struct ill_get_ctl *gc, const char *name, const char *sub)
273 {
274  ODR o = gc->odr;
276  (ILL_Service_Date_Time *) odr_malloc(o, sizeof(*r));
277  char element[128];
278 
279  strcpy(element, name);
280  if (sub)
281  {
282  strcat(element, ",");
283  strcat(element, sub);
284  }
286  gc, element, "this");
288  gc, element, "original");
289  return r;
290 }
291 
293  struct ill_get_ctl *gc, const char *name, const char *sub)
294 {
295  ODR o = gc->odr;
298  char element[128];
299 
300  strcpy(element, name);
301  if (sub)
302  {
303  strcat(element, ",");
304  strcat(element, sub);
305  }
306  r->can_send_RECEIVED = ill_get_bool(gc, element, "can-send-RECEIVED", 0);
307  r->can_send_RETURNED = ill_get_bool(gc, element, "can-send-RETURNED", 0);
308  r->requester_SHIPPED =
309  ill_get_enumerated(gc, element, "requester-SHIPPED", 1);
311  ill_get_enumerated(gc, element, "requester-CHECKED-IN", 1);
312  return r;
313 }
314 
316  struct ill_get_ctl *gc, const char *name, const char *sub)
317 {
318  ODR o = gc->odr;
319  ILL_Item_Id *r = (ILL_Item_Id *) odr_malloc(o, sizeof(*r));
320  char element[128];
321 
322  strcpy(element, name);
323  if (sub)
324  {
325  strcat(element, ",");
326  strcat(element, sub);
327  }
328  r->item_type = ill_get_enumerated(gc, element, "item-type",
330  r->held_medium_type = 0;
331  r->call_number = ill_get_ILL_String(gc, element, "call-number");
332  r->author = ill_get_ILL_String(gc, element, "author");
333  r->title = ill_get_ILL_String(gc, element, "title");
334  r->sub_title = ill_get_ILL_String(gc, element, "sub-title");
335  r->sponsoring_body = ill_get_ILL_String(gc, element, "sponsoring-body");
337  ill_get_ILL_String(gc, element, "place-of-publication");
338  r->publisher = ill_get_ILL_String(gc, element, "publisher");
340  ill_get_ILL_String(gc, element, "series-title-number");
341  r->volume_issue = ill_get_ILL_String(gc, element, "volume-issue");
342  r->edition = ill_get_ILL_String(gc, element, "edition");
343  r->publication_date = ill_get_ILL_String(gc, element, "publication-date");
345  ill_get_ILL_String(gc, element, "publication-date-of-component");
346  r->author_of_article = ill_get_ILL_String(gc, element,
347  "author-of-article");
348  r->title_of_article = ill_get_ILL_String(gc, element, "title-of-article");
349  r->pagination = ill_get_ILL_String(gc, element, "pagination");
351  r->iSBN = ill_get_ILL_String(gc, element, "ISBN");
352  r->iSSN = ill_get_ILL_String(gc, element, "ISSN");
353  r->system_no = 0;
355  ill_get_ILL_String(gc, element, "additional-no-letters");
357  ill_get_ILL_String(gc, element, "verification-reference-source");
358  return r;
359 }
360 
361 
363  struct ill_get_ctl *gc, const char *name, const char *sub)
364 {
365  char element[128];
366  ODR o = gc->odr;
367  ILL_Client_Id *r = (ILL_Client_Id *) odr_malloc(o, sizeof(*r));
368 
369  strcpy(element, name);
370  if (sub)
371  {
372  strcat(element, ",");
373  strcat(element, sub);
374  }
375  r->client_name = ill_get_ILL_String(gc, element, "client-name");
376  r->client_status = ill_get_ILL_String(gc, element, "client-status");
377  r->client_identifier = ill_get_ILL_String(gc, element,
378  "client-identifier");
379  return r;
380 }
381 
383  struct ill_get_ctl *gc, const char *name, const char *sub)
384 {
385  ODR o = gc->odr;
386  ILL_Postal_Address *r =
387  (ILL_Postal_Address *) odr_malloc(o, sizeof(*r));
388  char element[128];
389 
390  strcpy(element, name);
391  if (sub)
392  {
393  strcat(element, ",");
394  strcat(element, sub);
395  }
398  gc, element, "name-of-person-or-institution");
401  gc, element, "extended-postal-delivery-address");
402  r->street_and_number =
403  ill_get_ILL_String(gc, element, "street-and-number");
404  r->post_office_box =
405  ill_get_ILL_String(gc, element, "post-office-box");
406  r->city = ill_get_ILL_String(gc, element, "city");
407  r->region = ill_get_ILL_String(gc, element, "region");
408  r->country = ill_get_ILL_String(gc, element, "country");
409  r->postal_code = ill_get_ILL_String(gc, element, "postal-code");
410  return r;
411 }
412 
414  struct ill_get_ctl *gc, const char *name, const char *sub)
415 {
416  ODR o = gc->odr;
417  ILL_System_Address *r =
418  (ILL_System_Address *) odr_malloc(o, sizeof(*r));
419  char element[128];
420 
421  strcpy(element, name);
422  if (sub)
423  {
424  strcat(element, ",");
425  strcat(element, sub);
426  }
428  ill_get_ILL_String(gc, element, "telecom-service-identifier");
430  ill_get_ILL_String(gc, element, "telecom-service-addreess");
431  return r;
432 }
433 
435  struct ill_get_ctl *gc, const char *name, const char *sub)
436 {
437  ODR o = gc->odr;
439  (ILL_Delivery_Address *) odr_malloc(o, sizeof(*r));
440  char element[128];
441 
442  strcpy(element, name);
443  if (sub)
444  {
445  strcat(element, ",");
446  strcat(element, sub);
447  }
448  r->postal_address =
449  ill_get_Postal_Address(gc, element, "postal-address");
450  r->electronic_address =
451  ill_get_System_Address(gc, element, "electronic-address");
452  return r;
453 }
454 
456  struct ill_get_ctl *gc, const char *name, const char *sub)
457 {
458  ODR o = gc->odr;
459  ILL_Search_Type *r = (ILL_Search_Type *) odr_malloc(o, sizeof(*r));
460  char element[128];
461 
462  strcpy(element, name);
463  if (sub)
464  {
465  strcat(element, ",");
466  strcat(element, sub);
467  }
468  r->level_of_service = ill_get_ILL_String(gc, element, "level-of-service");
469  r->need_before_date = ill_get_ILL_ISO_Date(gc, element,
470  "need-before-date", 0);
471  r->expiry_date = ill_get_ILL_ISO_Date(gc, element, "expiry-date", 0);
472  r->expiry_flag = ill_get_enumerated(gc, element, "expiry-flag", 3);
473 
474  return r;
475 }
476 
478  struct ill_get_ctl *gc, const char *name, const char *sub)
479 {
480  ODR o = gc->odr;
481  ILL_Request *r = (ILL_Request *) odr_malloc(o, sizeof(*r));
482  char element[128];
483 
484  strcpy(element, name);
485  if (sub)
486  {
487  strcat(element, ",");
488  strcat(element, sub);
489  }
491  ill_get_enumerated(gc, element, "protocol-version-num",
493 
494  r->transaction_id = ill_get_Transaction_Id(gc, element, "transaction-id");
495  r->service_date_time =
496  ill_get_Service_Date_Time(gc, element, "service-date-time");
497  r->requester_id = ill_get_System_Id(gc, element, "requester-id");
498  r->responder_id = ill_get_System_Id(gc, element, "responder-id");
499  r->transaction_type =
500  ill_get_enumerated(gc, element, "transaction-type", 1);
501 
502  r->delivery_address =
503  ill_get_Delivery_Address(gc, element, "delivery-address");
504  r->delivery_service = 0; /* TODO */
505  /* ill_get_Delivery_Service(gc, element, "delivery-service"); */
506  r->billing_address =
507  ill_get_Delivery_Address(gc, element, "billing-address");
508 
509  r->num_iLL_service_type = 1;
511  odr_malloc(o, sizeof(*r->iLL_service_type));
512  *r->iLL_service_type =
513  ill_get_enumerated(gc, element, "ill-service-type",
515 
519  gc, element,"requester-optional-messages");
520  r->search_type = ill_get_Search_Type(gc, element, "search-type");
523 
525  gc, element, "place-on-hold",
527  r->client_id = ill_get_Client_Id(gc, element, "client-id");
528 
529  r->item_id = ill_get_Item_Id(gc, element, "item-id");
531  r->cost_info_type = 0;
533  ill_get_ILL_String(gc, element, "copyright-complicance");
534  r->third_party_info_type = 0;
535  r->retry_flag = ill_get_bool(gc, element, "retry-flag", 0);
536  r->forward_flag = ill_get_bool(gc, element, "forward-flag", 0);
537  r->requester_note = ill_get_ILL_String(gc, element, "requester-note");
538  r->forward_note = ill_get_ILL_String(gc, element, "forward-note");
540  r->iLL_request_extensions = 0;
541  return r;
542 }
543 
545  struct ill_get_ctl *gc, const char *name, const char *sub)
546 {
547  ODR o = gc->odr;
548  ILL_ItemRequest *r = (ILL_ItemRequest *)odr_malloc(o, sizeof(*r));
549  char element[128];
550 
551  strcpy(element, name);
552  if (sub)
553  {
554  strcat(element, ",");
555  strcat(element, sub);
556  }
558  ill_get_enumerated(gc, element, "protocol-version-num",
560 
561  r->transaction_id = ill_get_Transaction_Id(gc, element, "transaction-id");
562  r->service_date_time =
563  ill_get_Service_Date_Time(gc, element, "service-date-time");
564  r->requester_id = ill_get_System_Id(gc, element, "requester-id");
565  r->responder_id = ill_get_System_Id(gc, element, "responder-id");
566  r->transaction_type =
567  ill_get_enumerated(gc, element, "transaction-type", 1);
568 
569  r->delivery_address =
570  ill_get_Delivery_Address(gc, element, "delivery-address");
571  r->delivery_service = 0; /* TODO */
572  /* ill_get_Delivery_Service(gc, element, "delivery-service"); */
573  r->billing_address =
574  ill_get_Delivery_Address(gc, element, "billing-address");
575 
576  r->num_iLL_service_type = 1;
578  odr_malloc(o, sizeof(*r->iLL_service_type));
579  *r->iLL_service_type =
580  ill_get_enumerated(gc, element, "ill-service-type",
582 
586  gc, element,"requester-optional-messages");
587  r->search_type = ill_get_Search_Type(gc, element, "search-type");
590 
592  gc, element, "place-on-hold",
594  r->client_id = ill_get_Client_Id(gc, element, "client-id");
595 
596  r->item_id = ill_get_Item_Id(gc, element, "item-id");
598  r->cost_info_type = 0;
600  ill_get_ILL_String(gc, element, "copyright-complicance");
601  r->third_party_info_type = 0;
602  r->retry_flag = ill_get_bool(gc, element, "retry-flag", 0);
603  r->forward_flag = ill_get_bool(gc, element, "forward-flag", 0);
604  r->requester_note = ill_get_ILL_String(gc, element, "requester-note");
605  r->forward_note = ill_get_ILL_String(gc, element, "forward-note");
607  r->iLL_request_extensions = 0;
608  return r;
609 }
610 
612  struct ill_get_ctl *gc, const char *name, const char *sub)
613 {
614  ODR o = gc->odr;
615  ILL_Cancel *r = (ILL_Cancel *)odr_malloc(o, sizeof(*r));
616  char element[128];
617 
618  strcpy(element, name);
619  if (sub)
620  {
621  strcat(element, ",");
622  strcat(element, sub);
623  }
625  ill_get_enumerated(gc, element, "protocol-version-num",
627 
628  r->transaction_id = ill_get_Transaction_Id(gc, element, "transaction-id");
629  r->service_date_time =
630  ill_get_Service_Date_Time(gc, element, "service-date-time");
631  r->requester_id = ill_get_System_Id(gc, element, "requester-id");
632  r->responder_id = ill_get_System_Id(gc, element, "responder-id");
633  r->requester_note = ill_get_ILL_String(gc, element, "requester-note");
634 
635  r->num_cancel_extensions = 0;
636  r->cancel_extensions = 0;
637  return r;
638 }
639 
641  struct ill_get_ctl *gc, const char *name, const char *sub)
642 {
643  ODR o = gc->odr;
644  ILL_APDU *r = (ILL_APDU *)odr_malloc(o, sizeof(*r));
645  char element[128];
646  const char *v;
647 
648  strcpy(element, name);
649  strcat(element, ",which");
650 
651  v = (gc->f)(gc->clientData, element);
652  if (!v)
653  v = "request";
654  if (!strcmp(v, "request"))
655  {
657  r->u.illRequest = ill_get_ILLRequest(gc, name, sub);
658  }
659  else if (!strcmp(v, "cancel"))
660  {
661  r->which = ILL_APDU_Cancel;
662  r->u.Cancel = ill_get_Cancel(gc, name, sub);
663  }
664  else
665  return 0;
666  return r;
667 }
668 /*
669  * Local variables:
670  * c-basic-offset: 4
671  * c-file-style: "Stroustrup"
672  * indent-tabs-mode: nil
673  * End:
674  * vim: shiftwidth=4 tabstop=8 expandtab
675  */
676 
ILL_System_Id * responder_id
Definition: ill-core.h:363
ILL_Client_Id * ill_get_Client_Id(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:362
ILL_Name_Of_Person_Or_Institution * name_of_person_or_institution
Definition: ill-core.h:1013
ILL_String * transaction_qualifier
Definition: ill-core.h:1249
int num_supply_medium_info_type
Definition: item-req.h:41
ILL_String * ill_get_ILL_String(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:88
ILL_APDU * ill_get_APDU(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:640
ILL_String * telecom_service_identifier
Definition: ill-core.h:1224
Odr_int ILL_Service_Type
Definition: ill-core.h:155
static ILL_Name_Of_Person_Or_Institution * ill_get_Name_Of_Person_Or_Institution(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:159
Odr_bool * forward_flag
Definition: item-req.h:51
ILL_Delivery_Address * billing_address
Definition: item-req.h:35
Odr_int * ill_get_enumerated(struct ill_get_ctl *gc, const char *name, const char *sub, Odr_int val)
Definition: ill-get.c:59
ILL_Supply_Medium_Info_Type ** supply_medium_info_type
Definition: item-req.h:42
ILL_String * place_of_publication
Definition: ill-core.h:951
int num_iLL_request_extensions
Definition: item-req.h:54
ILL_System_Id * requester_id
Definition: item-req.h:30
ILL_String * publication_date
Definition: ill-core.h:956
ILL_String * region
Definition: ill-core.h:1018
Odr_int * protocol_version_num
Definition: ill-core.h:359
ILL_String * copyright_compliance
Definition: ill-core.h:380
char * GeneralString
Definition: ill-core.h:927
char * odr_strdup(ODR o, const char *str)
Definition: odr_mem.c:36
union ILL_APDU::@17 u
#define ILL_Person_Or_Institution_Symbol_institution_symbol
Definition: ill-core.h:1004
ILL_ISO_Date * need_before_date
Definition: ill-core.h:1133
ILL_String * ill_get_ILL_String_x(struct ill_get_ctl *gc, const char *name, const char *sub, const char *vdefault)
Definition: ill-get.c:65
ILL_String * volume_issue
Definition: ill-core.h:954
ILL_String * additional_no_letters
Definition: ill-core.h:965
Odr_int * protocol_version_num
Definition: ill-core.h:481
ILL_String * client_identifier
Definition: ill-core.h:716
ILL_String * sponsoring_body
Definition: ill-core.h:950
ILL_Transaction_Type * transaction_type
Definition: ill-core.h:364
ILL Package utilities.
ILL_Service_Date_Time * ill_get_Service_Date_Time(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:271
char * name
Definition: initopt.c:18
Odr_external * responder_specific_service
Definition: item-req.h:38
ILL_String * telecom_service_address
Definition: ill-core.h:1225
ILL_Cost_Info_Type * cost_info_type
Definition: item-req.h:47
ILL_Service_Date_original * ill_get_Service_Date_original(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:250
ILL_String * requester_note
Definition: ill-core.h:486
ILL_System_Id * requester_id
Definition: ill-core.h:362
ILL_Service_Type ** iLL_service_type
Definition: item-req.h:37
union ILL_String::@22 u
int num_iLL_request_extensions
Definition: ill-core.h:386
ILL_String * transaction_group_qualifier
Definition: ill-core.h:1248
Odr_bool * forward_flag
Definition: ill-core.h:383
ILL_Supply_Medium_Info_Type ** supply_medium_info_type
Definition: ill-core.h:374
bool_t * ill_get_bool(struct ill_get_ctl *gc, const char *name, const char *sub, int val)
Definition: ill-get.c:16
nmem_int_t Odr_int
Definition: odr.h:47
Odr_bool * retry_flag
Definition: ill-core.h:382
int num_supply_medium_info_type
Definition: ill-core.h:373
ILL_String * publication_date_of_component
Definition: ill-core.h:957
#define ILL_APDU_ILL_Request
Definition: ill-core.h:333
ILL_Cancel * ill_get_Cancel(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:611
ILL_ISO_Time * time
Definition: ill-core.h:1156
ILL_String * forward_note
Definition: ill-core.h:385
ILL_Service_Date_Time * service_date_time
Definition: ill-core.h:483
void * clientData
Definition: ill.h:43
Odr_external * responder_specific_service
Definition: ill-core.h:370
ILL_Service_Type ** iLL_service_type
Definition: ill-core.h:369
union ILL_Name_Of_Person_Or_Institution::@23 u
ILL_Transaction_Id * ill_get_Transaction_Id(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:206
ILL_Requester_Optional_Messages_Type * requester_optional_messages
Definition: item-req.h:39
int num_iLL_service_type
Definition: ill-core.h:368
ILL_String * sub_transaction_qualifier
Definition: ill-core.h:1250
void * odr_malloc(ODR o, size_t size)
Definition: odr_mem.c:31
#define ILL_Place_On_Hold_Type_according_to_responder_policy
Definition: ill-core.h:1010
ILL_System_Id * requester_id
Definition: ill-core.h:484
Odr_bool * retry_flag
Definition: item-req.h:50
#define ILL_Service_Type_copy_non_returnable
Definition: ill-core.h:919
ILL_Supplemental_Item_Description * supplemental_item_description
Definition: item-req.h:46
ILL_Requester_Optional_Messages_Type * ill_get_Requester_Optional_Messages_Type(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:292
ILL_Delivery_Service * delivery_service
Definition: item-req.h:34
ILL_ISO_Date * date
Definition: ill-core.h:1155
ILL_ISO_Date * date
Definition: ill-core.h:1160
ILL_String * requester_note
Definition: item-req.h:52
ILL_String * iSSN
Definition: ill-core.h:963
char ILL_ISO_Date
Definition: ill-core.h:167
ILL_Supplemental_Item_Description * supplemental_item_description
Definition: ill-core.h:378
Odr_int * item_type
Definition: ill-core.h:944
ILL_ISO_Time * ill_get_ILL_ISO_Time(struct ill_get_ctl *gc, const char *name, const char *sub, const char *val)
Definition: ill-get.c:114
union ILL_Person_Or_Institution_Symbol::@24 u
ILL_String * level_of_service
Definition: ill-core.h:1132
#define ILL_Person_Or_Institution_Symbol_person_symbol
Definition: ill-core.h:1003
ILL_Item_Id * item_id
Definition: ill-core.h:377
ILL_String * title
Definition: ill-core.h:948
ILL_Client_Id * client_id
Definition: ill-core.h:376
ILL_String * edition
Definition: ill-core.h:955
Odr_external * national_bibliography_no
Definition: ill-core.h:961
ILL_ISO_Date * expiry_date
Definition: ill-core.h:1138
ILL_Place_On_Hold_Type * place_on_hold
Definition: ill-core.h:375
int which
Definition: ill-core.h:925
ILL_String * client_name
Definition: ill-core.h:714
ILL_Third_Party_Info_Type * third_party_info_type
Definition: item-req.h:49
ILL_Postal_Address * postal_address
Definition: ill-core.h:787
ILL_Delivery_Address * billing_address
Definition: ill-core.h:367
#define ILL_String_GeneralString
Definition: ill-core.h:929
#define ILL_Request_version_2
Definition: ill-core.h:358
ILL_Transaction_Type * transaction_type
Definition: item-req.h:32
Odr_int * protocol_version_num
Definition: item-req.h:27
ILL_Extension ** cancel_extensions
Definition: ill-core.h:488
ILL_String * series_title_number
Definition: ill-core.h:953
ILL_Third_Party_Info_Type * third_party_info_type
Definition: ill-core.h:381
ILL_String * pagination
Definition: ill-core.h:960
int which
Definition: ill-core.h:311
ILL_Request * illRequest
Definition: ill-core.h:313
ILL_String * requester_note
Definition: ill-core.h:384
ILL_String * extended_postal_delivery_address
Definition: ill-core.h:1014
ODR odr
Definition: ill.h:42
ILL_Transaction_Id * transaction_id
Definition: ill-core.h:482
char ILL_ISO_Time
Definition: ill-core.h:170
ILL_System_Address * electronic_address
Definition: ill-core.h:788
ILL_String * forward_note
Definition: item-req.h:53
Odr_int * ill_get_int(struct ill_get_ctl *gc, const char *name, const char *sub, Odr_int val)
Definition: ill-get.c:40
Odr_int * odr_intdup(ODR o, Odr_int v)
Definition: odr_mem.c:51
ILL_Requester_Optional_Messages_Type * requester_optional_messages
Definition: ill-core.h:371
ILL_String * iSBN
Definition: ill-core.h:962
ILL_String * copyright_compliance
Definition: item-req.h:48
ILL_Cost_Info_Type * cost_info_type
Definition: ill-core.h:379
Definition: odr.h:124
ILL_Delivery_Address * delivery_address
Definition: item-req.h:33
ILL_System_Id * ill_get_System_Id(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:185
ILL_String * post_office_box
Definition: ill-core.h:1016
ILL_String * publisher
Definition: ill-core.h:952
#define ILL_Name_Of_Person_Or_Institution_name_of_institution
Definition: ill-core.h:994
ILL_ISO_Time * time
Definition: ill-core.h:1161
ILL_Transaction_Id * transaction_id
Definition: ill-core.h:360
ILL_Extension ** iLL_request_extensions
Definition: item-req.h:55
ILL_Item_Id * item_id
Definition: item-req.h:45
ILL_String * city
Definition: ill-core.h:1017
ILL_String * call_number
Definition: ill-core.h:946
#define ILL_Item_Id_monograph
Definition: ill-core.h:941
ILL_System_Address * ill_get_System_Address(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:413
ILL_String * street_and_number
Definition: ill-core.h:1015
ILL_Cancel * Cancel
Definition: ill-core.h:318
ILL_System_Id * responder_id
Definition: item-req.h:31
ILL_String * author_of_article
Definition: ill-core.h:958
ILL_String * sub_title
Definition: ill-core.h:949
ILL_Service_Date_this * ill_get_Service_Date_this(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:231
ILL_String * author
Definition: ill-core.h:947
ILL_Search_Type * search_type
Definition: ill-core.h:372
ILL_String * title_of_article
Definition: ill-core.h:959
Odr_external * system_no
Definition: ill-core.h:964
ILL_String * client_status
Definition: ill-core.h:715
ILL_Search_Type * ill_get_Search_Type(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:455
ILL_Search_Type * search_type
Definition: item-req.h:40
ILL_Item_Id * ill_get_Item_Id(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:315
ILL_Name_Of_Person_Or_Institution * name_of_person_or_institution
Definition: ill-core.h:1230
ILL_String * verification_reference_source
Definition: ill-core.h:966
ILL_Extension ** iLL_request_extensions
Definition: ill-core.h:387
ILL_Service_Date_Time * service_date_time
Definition: item-req.h:29
int num_cancel_extensions
Definition: ill-core.h:487
ILL_Person_Or_Institution_Symbol * person_or_institution_symbol
Definition: ill-core.h:1229
ILL_ISO_Date * ill_get_ILL_ISO_Date(struct ill_get_ctl *gc, const char *name, const char *sub, const char *val)
Definition: ill-get.c:94
int num_iLL_service_type
Definition: item-req.h:36
ILL_Medium_Type * held_medium_type
Definition: ill-core.h:945
ILL_System_Id * initial_requester_id
Definition: ill-core.h:1247
ILL_Request * ill_get_ILLRequest(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:477
#define bool_t
Definition: odr.h:52
ILL_System_Id * responder_id
Definition: ill-core.h:485
ILL_String * country
Definition: ill-core.h:1019
ILL_String * postal_code
Definition: ill-core.h:1020
ILL_Place_On_Hold_Type * place_on_hold
Definition: item-req.h:43
ILL_Person_Or_Institution_Symbol * ill_get_Person_Or_Insitution_Symbol(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:134
ILL_Delivery_Address * delivery_address
Definition: ill-core.h:365
ILL_Delivery_Address * ill_get_Delivery_Address(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:434
ILL_Service_Date_Time * service_date_time
Definition: ill-core.h:361
ILL_Delivery_Service * delivery_service
Definition: ill-core.h:366
const char *(* f)(void *clientData, const char *element)
Definition: ill.h:44
Odr_int * expiry_flag
Definition: ill-core.h:1137
#define ILL_Name_Of_Person_Or_Institution_name_of_person
Definition: ill-core.h:993
ILL_ItemRequest * ill_get_ItemRequest(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:544
ILL_Service_Date_original * date_time_of_original_service
Definition: ill-core.h:1166
ILL_Transaction_Id * transaction_id
Definition: item-req.h:28
#define ILL_APDU_Cancel
Definition: ill-core.h:338
ILL_Client_Id * client_id
Definition: item-req.h:44
ILL_Postal_Address * ill_get_Postal_Address(struct ill_get_ctl *gc, const char *name, const char *sub)
Definition: ill-get.c:382
ILL_Service_Date_this * date_time_of_this_service
Definition: ill-core.h:1165