Routine zget_SearchRequest fills resultSetName member with "default"
[yaz-moved-to-github.git] / asn / zget.c
1 /*
2  * Copyright (c) 1995, Index Data.
3  * See the file LICENSE for details.
4  * Sebastian Hammer, Adam Dickmeiss
5  *
6  * $Log: zget.c,v $
7  * Revision 1.12  1997-10-29 12:00:37  adam
8  * Routine zget_SearchRequest fills resultSetName member with "default"
9  * instead of "Default".
10  *
11  * Revision 1.11  1997/05/02 08:39:10  quinn
12  * New PDUs added, thanks to Ronald van der Meer
13  *
14  * Revision 1.10  1996/01/02 08:57:23  quinn
15  * Changed enums in the ASN.1 .h files to #defines. Changed oident.class to oclass
16  *
17  * Revision 1.9  1995/09/29  17:11:55  quinn
18  * Smallish
19  *
20  * Revision 1.8  1995/09/27  15:02:43  quinn
21  * Modified function heads & prototypes.
22  *
23  * Revision 1.7  1995/06/15  07:44:52  quinn
24  * Moving to v3.
25  *
26  * Revision 1.6  1995/06/14  15:26:37  quinn
27  * *** empty log message ***
28  *
29  * Revision 1.5  1995/06/07  14:42:30  quinn
30  * Fixed CLOSE
31  *
32  * Revision 1.4  1995/06/07  14:36:25  quinn
33  * Added CLOSE
34  *
35  * Revision 1.3  1995/06/05  10:52:06  quinn
36  * Fixed some negligences.
37  *
38  * Revision 1.2  1995/05/30  10:15:49  quinn
39  * Added our implementor's ID
40  *
41  * Revision 1.1  1995/05/22  11:30:20  quinn
42  * Adding Z39.50-1992 stuff to proto.c. Adding zget.c
43  *
44  *
45  */
46
47 #include <proto.h>
48
49 Z_InitRequest *zget_InitRequest(ODR o)
50 {
51     Z_InitRequest *r = odr_malloc(o, sizeof(*r));
52
53     r->referenceId = 0;
54     r->options = odr_malloc(o, sizeof(*r->options));
55     ODR_MASK_ZERO(r->options);
56     r->protocolVersion = odr_malloc(o, sizeof(*r->protocolVersion));
57     ODR_MASK_ZERO(r->protocolVersion);
58     r->preferredMessageSize = odr_malloc(o, sizeof(int));
59     *r->preferredMessageSize = 30*1024;
60     r->maximumRecordSize = odr_malloc(o, sizeof(int));
61     *r->maximumRecordSize = 30*1024;
62     r->idAuthentication = 0;
63     r->implementationId = "YAZ (id=81)";
64     r->implementationName = "Index Data/YAZ";
65     r->implementationVersion = YAZ_VERSION;
66     r->userInformationField = 0;
67 #ifdef Z_95
68     r->otherInfo = 0;
69 #endif
70     return r;
71 }
72
73 Z_InitResponse *zget_InitResponse(ODR o)
74 {
75     Z_InitResponse *r = odr_malloc(o, sizeof(*r));
76
77     r->referenceId = 0;
78     r->options = odr_malloc(o, sizeof(*r->options));
79     ODR_MASK_ZERO(r->options);
80     r->protocolVersion = odr_malloc(o, sizeof(*r->protocolVersion));
81     ODR_MASK_ZERO(r->protocolVersion);
82     r->preferredMessageSize = odr_malloc(o, sizeof(int));
83     *r->preferredMessageSize = 30*1024;
84     r->maximumRecordSize = odr_malloc(o, sizeof(int));
85     *r->maximumRecordSize = 30*1024;
86     r->result = odr_malloc(o, sizeof(bool_t));
87     *r->result = 1;
88     r->implementationId = "YAZ (id=81)";
89     r->implementationName = "Index Data/YAZ";
90     r->implementationVersion = YAZ_VERSION;
91     r->userInformationField = 0;
92 #ifdef Z_95
93     r->otherInfo = 0;
94 #endif
95     return r;
96 }
97
98 Z_SearchRequest *zget_SearchRequest(ODR o)
99 {
100     Z_SearchRequest *r = odr_malloc(o, sizeof(*r));
101
102     r->referenceId = 0;
103     r->smallSetUpperBound = odr_malloc(o, sizeof(int));
104     *r->smallSetUpperBound = 0;
105     r->largeSetLowerBound = odr_malloc(o, sizeof(int));
106     *r->largeSetLowerBound = 1;
107     r->mediumSetPresentNumber = odr_malloc(o, sizeof(int));
108     *r->mediumSetPresentNumber = 0;
109     r->replaceIndicator = odr_malloc(o, sizeof(bool_t));
110     *r->replaceIndicator = 1;
111     r->resultSetName = "default";
112     r->num_databaseNames = 0;
113     r->databaseNames = 0;
114     r->smallSetElementSetNames = 0;
115     r->mediumSetElementSetNames = 0;
116     r->preferredRecordSyntax = 0;
117     r->query = 0;
118 #ifdef Z_95
119     r->additionalSearchInfo = 0;
120     r->otherInfo = 0;
121 #endif
122     return r;
123 }
124
125 Z_SearchResponse *zget_SearchResponse(ODR o)
126 {
127     Z_SearchResponse *r = odr_malloc(o, sizeof(*r));
128
129     r->referenceId = 0;
130     r->resultCount = odr_malloc(o, sizeof(int));
131     *r->resultCount = 0;
132     r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
133     *r->numberOfRecordsReturned = 0;
134     r->nextResultSetPosition = odr_malloc(o, sizeof(int));
135     *r->nextResultSetPosition = 0;
136     r->searchStatus = odr_malloc(o, sizeof(bool_t));
137     *r->searchStatus = 1;
138     r->resultSetStatus = 0;
139     r->presentStatus = 0;
140     r->records = 0;
141 #ifdef Z_95
142     r->additionalSearchInfo = 0;
143     r->otherInfo = 0;
144 #endif
145     return r;
146 }
147
148 Z_PresentRequest *zget_PresentRequest(ODR o)
149 {
150     Z_PresentRequest *r = odr_malloc(o, sizeof(*r));
151
152     r->referenceId = 0;
153     r->resultSetId = "Default";
154     r->resultSetStartPoint = odr_malloc(o, sizeof(int));
155     *r->resultSetStartPoint = 1;
156     r->numberOfRecordsRequested = odr_malloc(o, sizeof(int));
157     *r->numberOfRecordsRequested = 10;
158 #ifdef Z_95
159     r->num_ranges = 0;
160     r->additionalRanges = 0;
161     r->recordComposition = 0;
162 #else
163     r->elementSetNames = 0;
164 #endif
165     r->preferredRecordSyntax = 0;
166 #ifdef Z_95
167     r->maxSegmentCount = 0;
168     r->maxRecordSize = 0;
169     r->maxSegmentSize = 0;
170     r->otherInfo = 0;
171 #endif
172     return r;
173 }
174
175 Z_PresentResponse *zget_PresentResponse(ODR o)
176 {
177     Z_PresentResponse *r = odr_malloc(o, sizeof(*r));
178
179     r->referenceId = 0;
180     r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
181     *r->numberOfRecordsReturned = 0;
182     r->nextResultSetPosition = odr_malloc(o, sizeof(int));
183     *r->nextResultSetPosition = 0;
184     r->presentStatus = odr_malloc(o, sizeof(int));
185     *r->presentStatus = Z_PRES_SUCCESS;
186     r->records = 0;
187 #ifdef Z_95
188     r->otherInfo = 0;
189 #endif
190     return r;
191 }
192
193 Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o)
194 {
195     Z_DeleteResultSetRequest *r = odr_malloc(o, sizeof(*r));
196
197     r->referenceId = 0;
198     r->deleteFunction = odr_malloc(o, sizeof(int));
199     *r->deleteFunction = Z_DeleteRequest_list;
200     r->num_ids = 0;
201     r->resultSetList = 0;
202 #ifdef Z_95
203     r->otherInfo = 0;
204 #endif
205     return r;
206 }
207
208 Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o)
209 {
210     Z_DeleteResultSetResponse *r = odr_malloc(o, sizeof(*r));
211
212     r->referenceId = 0;
213     r->deleteOperationStatus = odr_malloc(o, sizeof(int));
214     *r->deleteOperationStatus = Z_DeleteStatus_success;
215     r->num_statuses = 0;
216     r->deleteListStatuses = 0;
217     r->numberNotDeleted = 0;
218     r->num_bulkStatuses = 0;
219     r->bulkStatuses = 0;
220     r->deleteMessage = 0;
221 #ifdef Z_95
222     r->otherInfo = 0;
223 #endif
224     return r;
225 }
226
227 Z_ScanRequest *zget_ScanRequest(ODR o)
228 {
229     Z_ScanRequest *r = odr_malloc(o, sizeof(*r));
230
231     r->referenceId = 0;
232     r->num_databaseNames = 0;
233     r->databaseNames = 0;
234     r->attributeSet = 0;
235     r->termListAndStartPoint = 0;
236     r->stepSize = 0;
237     r->numberOfTermsRequested = odr_malloc(o, sizeof(int));
238     *r->numberOfTermsRequested = 20;
239     r->preferredPositionInResponse = 0;
240 #ifdef Z_95
241     r->otherInfo = 0;
242 #endif
243     return r;
244 }
245
246 Z_ScanResponse *zget_ScanResponse(ODR o)
247 {
248     Z_ScanResponse *r = odr_malloc(o, sizeof(*r));
249
250     r->referenceId = 0;
251     r->stepSize = 0;
252     r->scanStatus = odr_malloc(o, sizeof(int));
253     *r->scanStatus = Z_Scan_success;
254     r->numberOfEntriesReturned = odr_malloc(o, sizeof(int));
255     *r->numberOfEntriesReturned = 0;
256     r->positionOfTerm =0;
257     r->entries = 0;
258     r->attributeSet = 0;
259 #ifdef Z_95
260     r->otherInfo = 0;
261 #endif
262     return r;
263 }
264
265 Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o)
266 {
267     Z_TriggerResourceControlRequest *r = odr_malloc(o, sizeof(*r));
268
269     r->referenceId = 0;
270     r->requestedAction = odr_malloc(o, sizeof(int));
271     *r->requestedAction = Z_TriggerResourceCtrl_resourceReport;
272     r->prefResourceReportFormat = 0;
273     r->resultSetWanted = 0;
274 #ifdef Z_95
275     r->otherInfo = 0;
276 #endif
277     return r;
278 }
279
280 Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o)
281 {
282     Z_ResourceControlRequest *r = odr_malloc(o, sizeof(*r));
283
284     r->referenceId = 0;
285     r->suspendedFlag = 0;
286     r->resourceReport = 0;
287     r->partialResultsAvailable = 0;
288     r->responseRequired = odr_malloc(o, sizeof(bool_t));
289     *r->responseRequired = 0;
290     r->triggeredRequestFlag = 0;
291 #ifdef Z_95
292     r->otherInfo = 0;
293 #endif
294     return r;
295 }
296
297 Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o)
298 {
299     Z_ResourceControlResponse *r = odr_malloc(o, sizeof(*r));
300
301     r->referenceId = 0;
302     r->continueFlag = odr_malloc(o, sizeof(bool_t));
303     *r->continueFlag = 1;
304     r->resultSetWanted = 0;
305 #ifdef Z_95
306     r->otherInfo = 0;
307 #endif
308     return r;
309 }
310
311 Z_AccessControlRequest *zget_AccessControlRequest(ODR o)
312 {
313     Z_AccessControlRequest *r = odr_malloc(o, sizeof(*r));
314
315     r->referenceId = 0;
316     r->which = Z_AccessRequest_simpleForm;
317     r->u.simpleForm = 0;
318 #ifdef Z_95
319     r->otherInfo = 0;
320 #endif
321     return r;
322 }
323
324 Z_AccessControlResponse *zget_AccessControlResponse(ODR o)
325 {
326     Z_AccessControlResponse *r = odr_malloc(o, sizeof(*r));
327
328     r->referenceId = 0;
329     r->which = Z_AccessResponse_simpleForm;
330     r->u.simpleForm = 0;
331     r->diagnostic = 0;
332 #ifdef Z_95
333     r->otherInfo = 0;
334 #endif
335     return r;
336 }
337
338 Z_Segment *zget_Segment(ODR o)
339 {
340     Z_Segment *r = odr_malloc(o, sizeof(*r));
341
342     r->referenceId = 0;
343     r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
344     *r->numberOfRecordsReturned = 0;
345     r->num_segmentRecords = 0;
346     r->segmentRecords = 0;
347     r->otherInfo = 0;
348     return r;
349 }
350
351 Z_Close *zget_Close(ODR o)
352 {
353     Z_Close *r = odr_malloc(o, sizeof(*r));
354
355     r->referenceId = 0;
356     r->closeReason = odr_malloc(o, sizeof(int));
357     *r->closeReason = Z_Close_finished;
358     r->diagnosticInformation = 0;
359     r->resourceReportFormat = 0;
360     r->resourceReport = 0;
361 #ifdef Z_95
362     r->otherInfo = 0;
363 #endif
364     return r;
365 }
366
367 Z_ResourceReportRequest *zget_ResourceReportRequest(ODR o)
368 {
369     Z_ResourceReportRequest *r = odr_malloc(o, sizeof(*r));
370
371     r->referenceId = 0;
372     r->opId = 0;
373     r->prefResourceReportFormat = 0;
374     r->otherInfo = 0;
375     return r;
376 }
377
378 Z_ResourceReportResponse *zget_ResourceReportResponse(ODR o)
379 {
380     Z_ResourceReportResponse *r = odr_malloc(o, sizeof(*r));
381
382     r->referenceId = 0;
383     r->resourceReportStatus = odr_malloc(o, sizeof(int));
384     *r->resourceReportStatus = Z_ResourceReportStatus_success;
385     r->resourceReport = 0;
386     r->otherInfo = 0;
387     return r;
388 }
389
390 Z_SortRequest *zget_SortRequest(ODR o)
391 {
392     Z_SortRequest *r = odr_malloc(o, sizeof(*r));
393
394     r->referenceId = 0;
395     r->inputResultSetNames = 0;
396     r->sortedResultSetName = 0;
397     r->sortSequence = 0;
398     r->otherInfo = 0;
399     return r;
400 }
401
402 Z_SortResponse *zget_SortResponse(ODR o)
403 {
404     Z_SortResponse *r = odr_malloc(o, sizeof(*r));
405
406     r->referenceId = 0;
407     r->sortStatus = odr_malloc(o, sizeof(int));
408     *r->sortStatus = Z_SortStatus_success;
409     r->resultSetStatus = odr_malloc(o, sizeof(int));
410     *r->resultSetStatus = Z_SortResultSetStatus_empty;
411     r->diagnostics = 0;
412     r->otherInfo = 0;
413     return r;
414 }
415
416 Z_ExtendedServicesRequest *zget_ExtendedServicesRequest(ODR o)
417 {
418     Z_ExtendedServicesRequest *r = odr_malloc(o, sizeof(*r));
419
420     r->referenceId = 0;
421     r->function = odr_malloc(o, sizeof(int));
422     *r->function = Z_ExtendedServicesRequest_create;
423     r->packageType = 0;
424     r->packageName = 0;
425     r->userId = 0;
426     r->retentionTime = 0;
427     r->permissions = 0;
428     r->description = 0;
429     r->taskSpecificParameters = 0;
430     r->waitAction = odr_malloc(o, sizeof(int));
431     *r->waitAction = Z_ExtendedServicesRequest_wait;
432     r->elements = 0;
433     r->otherInfo = 0;
434     return r;
435 }
436
437 Z_ExtendedServicesResponse *zget_ExtendedServicesResponse(ODR o)
438 {
439     Z_ExtendedServicesResponse *r = odr_malloc(o, sizeof(*r));
440
441     r->referenceId = 0;
442     r->operationStatus = odr_malloc(o, sizeof(int));
443     *r->operationStatus = Z_ExtendedServicesResponse_done;
444     r->num_diagnostics = 0;
445     r->diagnostics = 0;
446     r->taskPackage = 0;
447     r->otherInfo = 0;
448     return r;
449 }
450
451 Z_APDU *zget_APDU(ODR o, int which)
452 {
453     Z_APDU *r = odr_malloc(o, sizeof(*r));
454
455     switch (r->which = which)
456     {
457         case Z_APDU_initRequest:
458             r->u.initRequest = zget_InitRequest(o);
459             break;
460         case Z_APDU_initResponse:
461             r->u.initResponse = zget_InitResponse(o);
462             break;
463         case Z_APDU_searchRequest:
464             r->u.searchRequest = zget_SearchRequest(o);
465             break;
466         case Z_APDU_searchResponse:
467             r->u.searchResponse = zget_SearchResponse(o);
468             break;
469         case Z_APDU_presentRequest:
470             r->u.presentRequest = zget_PresentRequest(o);
471             break;
472         case Z_APDU_presentResponse:
473             r->u.presentResponse = zget_PresentResponse(o);
474             break;
475         case Z_APDU_deleteResultSetRequest:
476             r->u.deleteResultSetRequest = zget_DeleteResultSetRequest(o);
477             break;
478         case Z_APDU_deleteResultSetResponse:
479             r->u.deleteResultSetResponse = zget_DeleteResultSetResponse(o);
480             break;
481         case Z_APDU_scanRequest:
482             r->u.scanRequest = zget_ScanRequest(o);
483             break;
484         case Z_APDU_scanResponse:
485             r->u.scanResponse = zget_ScanResponse(o);
486             break;
487         case Z_APDU_triggerResourceControlRequest:
488             r->u.triggerResourceControlRequest =
489                 zget_TriggerResourceControlRequest(o);
490             break;
491         case Z_APDU_resourceControlRequest:
492             r->u.resourceControlRequest = zget_ResourceControlRequest(o);
493             break;
494         case Z_APDU_resourceControlResponse:
495             r->u.resourceControlResponse = zget_ResourceControlResponse(o);
496             break;
497         case Z_APDU_segmentRequest:
498             r->u.segmentRequest = zget_Segment(o);
499             break;
500         case Z_APDU_close:
501             r->u.close = zget_Close(o);
502             break;
503         case Z_APDU_accessControlRequest:
504             r->u.accessControlRequest = zget_AccessControlRequest(o);
505             break;
506         case Z_APDU_accessControlResponse:
507             r->u.accessControlResponse = zget_AccessControlResponse(o);
508             break;
509         case Z_APDU_resourceReportRequest:
510             r->u.resourceReportRequest = zget_ResourceReportRequest(o);
511             break;
512         case Z_APDU_resourceReportResponse:
513             r->u.resourceReportResponse = zget_ResourceReportResponse(o);
514             break;
515         case Z_APDU_sortRequest:
516             r->u.sortRequest = zget_SortRequest(o);
517             break;
518         case Z_APDU_sortResponse:
519             r->u.sortResponse = zget_SortResponse(o);
520             break;
521         case Z_APDU_extendedServicesRequest:
522             r->u.extendedServicesRequest = zget_ExtendedServicesRequest(o);
523             break;
524         case Z_APDU_extendedServicesResponse:
525             r->u.extendedServicesResponse = zget_ExtendedServicesResponse(o);
526             break;
527         default:
528             fprintf(stderr, "Bad APDU-type to zget_APDU");
529             exit(1);
530     }
531     return r;
532 }