YAZ  4.2.57
zget.c
Go to the documentation of this file.
1 /* This file is part of the YAZ toolkit.
2  * Copyright (C) 1995-2013 Index Data
3  * See the file LICENSE for details.
4  */
9 #if HAVE_CONFIG_H
10 #include <config.h>
11 #endif
12 
13 #include <yaz/proto.h>
14 #include <yaz/oid_db.h>
15 
17 {
18  Z_InitRequest *r = (Z_InitRequest *)odr_malloc(o, sizeof(*r));
19 
20  r->referenceId = 0;
21  r->options = (Odr_bitmask *)odr_malloc(o, sizeof(*r->options));
24  odr_malloc(o, sizeof(*r->protocolVersion));
25 
28 
30 
33 
34  r->preferredMessageSize = odr_intdup(o, 1024*1024);
35  r->maximumRecordSize = odr_intdup(o, 1024*1024);
36  r->idAuthentication = 0;
37  r->implementationId = "81";
38  r->implementationName = "YAZ";
40 #ifdef YAZ_VERSION_SHA1
42 #endif
43  ;
44  r->userInformationField = 0;
45  r->otherInfo = 0;
46  return r;
47 }
48 
50 {
51  Z_InitResponse *r = (Z_InitResponse *)odr_malloc(o, sizeof(*r));
52 
53  r->referenceId = 0;
54  r->options = (Odr_bitmask *)odr_malloc(o, sizeof(*r->options));
56  r->protocolVersion = (Odr_bitmask *)odr_malloc(o, sizeof(*r->protocolVersion));
58  r->preferredMessageSize = odr_intdup(o, 30*1024);
59  r->maximumRecordSize = odr_intdup(o, 30*1024);
60  r->result = odr_booldup(o, 1);
61  r->implementationId = "81";
62  r->implementationName = "YAZ";
64 #ifdef YAZ_VERSION_SHA1
66 #endif
67  ;
68  r->userInformationField = 0;
69  r->otherInfo = 0;
70  return r;
71 }
72 
74 {
75  Z_SearchRequest *r = (Z_SearchRequest *)odr_malloc(o, sizeof(*r));
76 
77  r->referenceId = 0;
78  r->smallSetUpperBound = odr_intdup(o, 0);
79  r->largeSetLowerBound = odr_intdup(o, 1);
81  r->replaceIndicator = odr_booldup(o, 1);
82  r->resultSetName = "default";
83  r->num_databaseNames = 0;
84  r->databaseNames = 0;
87  r->preferredRecordSyntax = 0;
88  r->query = 0;
89  r->additionalSearchInfo = 0;
90  r->otherInfo = 0;
91  return r;
92 }
93 
95 {
96  Z_SearchResponse *r = (Z_SearchResponse *)odr_malloc(o, sizeof(*r));
97 
98  r->referenceId = 0;
99  r->resultCount = odr_intdup(o, 0);
102  r->searchStatus = odr_booldup(o, 1);
103  r->resultSetStatus = 0;
104  r->presentStatus = 0;
105  r->records = 0;
106  r->additionalSearchInfo = 0;
107  r->otherInfo = 0;
108  return r;
109 }
110 
112 {
113  Z_PresentRequest *r = (Z_PresentRequest *)odr_malloc(o, sizeof(*r));
114 
115  r->referenceId = 0;
116  r->resultSetId = "default";
117  r->resultSetStartPoint = odr_intdup(o, 1);
119  r->num_ranges = 0;
120  r->additionalRanges = 0;
121  r->recordComposition = 0;
122  r->preferredRecordSyntax = 0;
123  r->maxSegmentCount = 0;
124  r->maxRecordSize = 0;
125  r->maxSegmentSize = 0;
126  r->otherInfo = 0;
127  return r;
128 }
129 
131 {
132  Z_PresentResponse *r = (Z_PresentResponse *)odr_malloc(o, sizeof(*r));
133 
134  r->referenceId = 0;
138  r->records = 0;
139  r->otherInfo = 0;
140  return r;
141 }
142 
144 {
146  odr_malloc(o, sizeof(*r));
147 
148  r->referenceId = 0;
150  r->num_resultSetList = 0;
151  r->resultSetList = 0;
152  r->otherInfo = 0;
153  return r;
154 }
155 
157 {
159  odr_malloc(o, sizeof(*r));
160 
161  r->referenceId = 0;
163  r->deleteListStatuses = 0;
164  r->numberNotDeleted = 0;
165  r->bulkStatuses = 0;
166  r->deleteMessage = 0;
167  r->otherInfo = 0;
168  return r;
169 }
170 
172 {
173  Z_ScanRequest *r = (Z_ScanRequest *)odr_malloc(o, sizeof(*r));
174 
175  r->referenceId = 0;
176  r->num_databaseNames = 0;
177  r->databaseNames = 0;
178  r->attributeSet = 0;
179  r->termListAndStartPoint = 0;
180  r->stepSize = 0;
183  r->otherInfo = 0;
184  return r;
185 }
186 
188 {
189  Z_ScanResponse *r = (Z_ScanResponse *)odr_malloc(o, sizeof(*r));
190 
191  r->referenceId = 0;
192  r->stepSize = 0;
195  r->positionOfTerm =0;
196  r->entries = 0;
197  r->attributeSet = 0;
198  r->otherInfo = 0;
199  return r;
200 }
201 
203 {
205  odr_malloc(o, sizeof(*r));
206 
207  r->referenceId = 0;
210  r->resultSetWanted = 0;
211  r->otherInfo = 0;
212  return r;
213 }
214 
216 {
218  odr_malloc(o, sizeof(*r));
219 
220  r->referenceId = 0;
221  r->suspendedFlag = 0;
222  r->resourceReport = 0;
224  r->responseRequired = odr_booldup(o, 0);
225  r->triggeredRequestFlag = 0;
226  r->otherInfo = 0;
227  return r;
228 }
229 
231 {
233  odr_malloc(o, sizeof(*r));
234 
235  r->referenceId = 0;
236  r->continueFlag = odr_booldup(o, 1);
237  r->resultSetWanted = 0;
238  r->otherInfo = 0;
239  return r;
240 }
241 
243 {
245  odr_malloc(o, sizeof(*r));
246 
247  r->referenceId = 0;
249  r->u.simpleForm = 0;
250  r->otherInfo = 0;
251  return r;
252 }
253 
255 {
257  odr_malloc(o, sizeof(*r));
258 
259  r->referenceId = 0;
261  r->u.simpleForm = 0;
262  r->diagnostic = 0;
263  r->otherInfo = 0;
264  return r;
265 }
266 
268 {
269  Z_Segment *r = (Z_Segment *)odr_malloc(o, sizeof(*r));
270 
271  r->referenceId = 0;
273  r->num_segmentRecords = 0;
275  r->otherInfo = 0;
276  return r;
277 }
278 
280 {
281  Z_Close *r = (Z_Close *)odr_malloc(o, sizeof(*r));
282 
283  r->referenceId = 0;
285  r->diagnosticInformation = 0;
286  r->resourceReportFormat = 0;
287  r->resourceReport = 0;
288  r->otherInfo = 0;
289  return r;
290 }
291 
293 {
295  odr_malloc(o, sizeof(*r));
296 
297  r->referenceId = 0;
298  r->opId = 0;
300  r->otherInfo = 0;
301  return r;
302 }
303 
305 {
307  odr_malloc(o, sizeof(*r));
308 
309  r->referenceId = 0;
311  r->resourceReport = 0;
312  r->otherInfo = 0;
313  return r;
314 }
315 
317 {
318  Z_SortRequest *r = (Z_SortRequest *)odr_malloc(o, sizeof(*r));
319 
320  r->referenceId = 0;
321  r->inputResultSetNames = 0;
322  r->sortedResultSetName = 0;
323  r->sortSequence = 0;
324  r->otherInfo = 0;
325  return r;
326 }
327 
329 {
330  Z_SortResponse *r = (Z_SortResponse *)odr_malloc(o, sizeof(*r));
331 
332  r->referenceId = 0;
335  r->diagnostics = 0;
336  r->resultCount = 0;
337  r->otherInfo = 0;
338  return r;
339 }
340 
342 {
344  odr_malloc(o, sizeof(*r));
345 
346  r->referenceId = 0;
348  r->packageType = 0;
349  r->packageName = 0;
350  r->userId = 0;
351  r->retentionTime = 0;
352  r->permissions = 0;
353  r->description = 0;
354  r->taskSpecificParameters = 0;
356  r->elements = 0;
357  r->otherInfo = 0;
358  return r;
359 }
360 
362 {
364  odr_malloc(o, sizeof(*r));
365 
366  r->referenceId = 0;
368  r->num_diagnostics = 0;
369  r->diagnostics = 0;
370  r->taskPackage = 0;
371  r->otherInfo = 0;
372  return r;
373 }
374 
376 {
378  odr_malloc(o, sizeof(*r));
379 
380  r->referenceId = 0;
381  r->num_inputResultSetIds = 0;
382  r->inputResultSetIds = 0;
383  r->outputResultSetName = 0;
387  r->clustering = 0;
388  r->num_retentionCriteria = 0;
389  r->retentionCriteria = 0;
390  r->num_sortCriteria = 0;
391  r->sortCriteria = 0;
392  r->otherInfo = 0;
393  return r;
394 }
395 
397 {
399  odr_malloc(o, sizeof(*r));
400 
401  r->referenceId = 0;
403  r->resultSetCount = 0;
404  r->num_diagnostics = 0;
405  r->diagnostics = 0;
406  r->otherInfo = 0;
407  return r;
408 }
409 
410 Z_APDU *zget_APDU(ODR o, int which)
411 {
412  Z_APDU *r = (Z_APDU *)odr_malloc(o, sizeof(*r));
413 
414  switch (r->which = which)
415  {
416  case Z_APDU_initRequest:
418  break;
419  case Z_APDU_initResponse:
421  break;
424  break;
427  break;
430  break;
433  break;
436  break;
439  break;
440  case Z_APDU_scanRequest:
442  break;
443  case Z_APDU_scanResponse:
445  break;
449  break;
452  break;
455  break;
457  r->u.segmentRequest = zget_Segment(o);
458  break;
459  case Z_APDU_close:
460  r->u.close = zget_Close(o);
461  break;
464  break;
467  break;
470  break;
473  break;
474  case Z_APDU_sortRequest:
476  break;
477  case Z_APDU_sortResponse:
479  break;
482  break;
485  break;
488  break;
491  break;
492  default:
493  return 0;
494  }
495  return r;
496 }
497 
499  const char *addinfo)
500 {
502  odr_malloc(o, sizeof(*dr));
503 
505  dr->condition = odr_intdup(o, error);
507  dr->u.v2Addinfo = odr_strdup (o, addinfo ? addinfo : "");
508  return dr;
509 }
510 
511 Z_DiagRec *zget_DiagRec(ODR o, int error, const char *addinfo)
512 {
513  Z_DiagRec *dr = (Z_DiagRec*) odr_malloc(o, sizeof(*dr));
515  dr->u.defaultFormat = zget_DefaultDiagFormat(o, error, addinfo);
516  return dr;
517 }
518 
519 Z_DiagRecs *zget_DiagRecs(ODR o, int error, const char *addinfo)
520 {
521  Z_DiagRecs *drecs = (Z_DiagRecs*) odr_malloc(o, sizeof(*drecs));
522  Z_DiagRec **dr = (Z_DiagRec**) odr_malloc(o, sizeof(**dr));
523  drecs->diagRecs = dr;
524  dr[0] = zget_DiagRec(o, error, addinfo);
525  drecs->num_diagRecs = 1;
526  return drecs;
527 }
528 
530  int error, const char *addinfo)
531 {
532  Z_NamePlusRecord *rec = (Z_NamePlusRecord *) odr_malloc(o, sizeof(*rec));
533  Z_DiagRec *drec = (Z_DiagRec *)odr_malloc(o, sizeof(*drec));
534 
535  if (dbname)
536  rec->databaseName = odr_strdup(o, dbname);
537  else
538  rec->databaseName = 0;
540  rec->u.surrogateDiagnostic = drec;
542  drec->u.defaultFormat = zget_DefaultDiagFormat(o, error, addinfo);
543  return rec;
544 }
545 
546 Z_External *zget_init_diagnostics(ODR odr, int error, const char *addinfo)
547 {
548  Z_External *x, *x2;
553 
554  x = (Z_External*) odr_malloc(odr, sizeof *x);
555  x->descriptor = 0;
556  x->indirect_reference = 0;
559 
560  u = (Z_OtherInformation *) odr_malloc(odr, sizeof *u);
561  x->u.userInfo1 = u;
562  u->num_elements = 1;
563  u->list = (Z_OtherInformationUnit**) odr_malloc(odr, sizeof *u->list);
564  u->list[0] = (Z_OtherInformationUnit*) odr_malloc(odr, sizeof *u->list[0]);
565  l = u->list[0];
566  l->category = 0;
568 
569  x2 = (Z_External*) odr_malloc(odr, sizeof *x);
571  x2->descriptor = 0;
572  x2->indirect_reference = 0;
574  x2->which = Z_External_diag1;
575 
576  d = (Z_DiagnosticFormat*) odr_malloc(odr, sizeof *d);
577  x2->u.diag1 = d;
578  d->num = 1;
579  d->elements = (Z_DiagnosticFormat_s**) odr_malloc(odr, sizeof *d->elements);
580  d->elements[0] = (Z_DiagnosticFormat_s*) odr_malloc(odr, sizeof *d->elements[0]);
581  e = d->elements[0];
582 
584  e->u.defaultDiagRec = zget_DefaultDiagFormat(odr, error, addinfo);
585  e->message = 0;
586  return x;
587 }
588 
590  const char *addinfo)
591 {
592  Z_External *x, *x2;
597  char *octet_buf;
598  int octet_len;
599  ODR encode;
600 
601  u = (Z_OtherInformation *) odr_malloc(odr, sizeof *u);
602  u->num_elements = 1;
603  u->list = (Z_OtherInformationUnit**) odr_malloc(odr, sizeof *u->list);
604  u->list[0] = (Z_OtherInformationUnit*) odr_malloc(odr, sizeof *u->list[0]);
605  l = u->list[0];
606  l->category = 0;
608 
609  x2 = (Z_External*) odr_malloc(odr, sizeof *x);
611  x2->descriptor = 0;
612  x2->indirect_reference = 0;
613 
615  x2->which = Z_External_diag1;
616 
617  d = (Z_DiagnosticFormat*) odr_malloc(odr, sizeof *d);
618  x2->u.diag1 = d;
619  d->num = 1;
620  d->elements = (Z_DiagnosticFormat_s**) odr_malloc(odr, sizeof *d->elements);
621  d->elements[0] = (Z_DiagnosticFormat_s*) odr_malloc(odr, sizeof *d->elements[0]);
622  e = d->elements[0];
623 
625  e->u.defaultDiagRec = zget_DefaultDiagFormat(odr, error, addinfo);
626  e->message = 0;
627 
628  encode = odr_createmem(ODR_ENCODE);
629 
630  z_OtherInformation(encode, &u, 0, 0);
631 
632  octet_buf = odr_getbuf(encode, &octet_len, 0);
633 
634  x = (Z_External*) odr_malloc(odr, sizeof *x);
635  x->descriptor = 0;
636  x->indirect_reference = 0;
638  x->which = Z_External_octet;
639  x->u.octet_aligned = (Odr_oct *) odr_malloc(odr, sizeof(Odr_oct));
640  x->u.octet_aligned->buf = (unsigned char *) odr_malloc(odr, octet_len);
641  memcpy(x->u.octet_aligned->buf, octet_buf, octet_len);
642  x->u.octet_aligned->len = octet_len;
643 
644  odr_destroy(encode);
645 
646  return x;
647 }
648 
649 /*
650  * Local variables:
651  * c-basic-offset: 4
652  * c-file-style: "Stroustrup"
653  * indent-tabs-mode: nil
654  * End:
655  * vim: shiftwidth=4 tabstop=8 expandtab
656  */
657