2 * Copyright (c) 1995, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.8 1995-09-27 15:02:43 quinn
8 * Modified function heads & prototypes.
10 * Revision 1.7 1995/06/15 07:44:52 quinn
13 * Revision 1.6 1995/06/14 15:26:37 quinn
14 * *** empty log message ***
16 * Revision 1.5 1995/06/07 14:42:30 quinn
19 * Revision 1.4 1995/06/07 14:36:25 quinn
22 * Revision 1.3 1995/06/05 10:52:06 quinn
23 * Fixed some negligences.
25 * Revision 1.2 1995/05/30 10:15:49 quinn
26 * Added our implementor's ID
28 * Revision 1.1 1995/05/22 11:30:20 quinn
29 * Adding Z39.50-1992 stuff to proto.c. Adding zget.c
36 Z_InitRequest MDF *zget_InitRequest(ODR o)
38 Z_InitRequest *r = odr_malloc(o, sizeof(*r));
41 r->options = odr_malloc(o, sizeof(*r->options));
42 ODR_MASK_ZERO(r->options);
43 r->protocolVersion = odr_malloc(o, sizeof(*r->protocolVersion));
44 ODR_MASK_ZERO(r->protocolVersion);
45 r->preferredMessageSize = odr_malloc(o, sizeof(int));
46 *r->preferredMessageSize = 30*1024;
47 r->maximumRecordSize = odr_malloc(o, sizeof(int));
48 *r->maximumRecordSize = 30*1024;
49 r->idAuthentication = 0;
50 r->implementationId = "YAZ (id=81)";
51 r->implementationName = "Index Data/YAZ";
52 r->implementationVersion = YAZ_VERSION;
53 r->userInformationField = 0;
60 Z_InitResponse MDF *zget_InitResponse(ODR o)
62 Z_InitResponse *r = odr_malloc(o, sizeof(*r));
65 r->options = odr_malloc(o, sizeof(*r->options));
66 ODR_MASK_ZERO(r->options);
67 r->protocolVersion = odr_malloc(o, sizeof(*r->protocolVersion));
68 ODR_MASK_ZERO(r->protocolVersion);
69 r->preferredMessageSize = odr_malloc(o, sizeof(int));
70 *r->preferredMessageSize = 30*1024;
71 r->maximumRecordSize = odr_malloc(o, sizeof(int));
72 *r->maximumRecordSize = 30*1024;
73 r->result = odr_malloc(o, sizeof(bool_t));
75 r->implementationId = "YAZ (id=81)";
76 r->implementationName = "Index Data/YAZ";
77 r->implementationVersion = YAZ_VERSION;
78 r->userInformationField = 0;
85 Z_SearchRequest MDF *zget_SearchRequest(ODR o)
87 Z_SearchRequest *r = odr_malloc(o, sizeof(*r));
90 r->smallSetUpperBound = odr_malloc(o, sizeof(int));
91 *r->smallSetUpperBound = 0;
92 r->largeSetLowerBound = odr_malloc(o, sizeof(int));
93 *r->largeSetLowerBound = 1;
94 r->mediumSetPresentNumber = odr_malloc(o, sizeof(int));
95 *r->mediumSetPresentNumber = 0;
96 r->replaceIndicator = odr_malloc(o, sizeof(bool_t));
97 *r->replaceIndicator = 1;
98 r->resultSetName = "Default";
99 r->num_databaseNames = 0;
100 r->databaseNames = 0;
101 r->smallSetElementSetNames = 0;
102 r->mediumSetElementSetNames = 0;
103 r->preferredRecordSyntax = 0;
106 r->additionalSearchInfo = 0;
112 Z_SearchResponse MDF *zget_SearchResponse(ODR o)
114 Z_SearchResponse *r = odr_malloc(o, sizeof(*r));
117 r->resultCount = odr_malloc(o, sizeof(int));
119 r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
120 *r->numberOfRecordsReturned = 0;
121 r->nextResultSetPosition = odr_malloc(o, sizeof(int));
122 *r->nextResultSetPosition = 0;
123 r->searchStatus = odr_malloc(o, sizeof(bool_t));
124 *r->searchStatus = 1;
125 r->resultSetStatus = 0;
126 r->presentStatus = 0;
129 r->additionalSearchInfo = 0;
135 Z_PresentRequest MDF *zget_PresentRequest(ODR o)
137 Z_PresentRequest *r = odr_malloc(o, sizeof(*r));
140 r->resultSetId = "Default";
141 r->resultSetStartPoint = odr_malloc(o, sizeof(int));
142 *r->resultSetStartPoint = 1;
143 r->numberOfRecordsRequested = odr_malloc(o, sizeof(int));
144 *r->numberOfRecordsRequested = 10;
147 r->additionalRanges = 0;
148 r->recordComposition = 0;
150 r->elementSetNames = 0;
152 r->preferredRecordSyntax = 0;
154 r->maxSegmentCount = 0;
155 r->maxRecordSize = 0;
156 r->maxSegmentSize = 0;
162 Z_PresentResponse MDF *zget_PresentResponse(ODR o)
164 Z_PresentResponse *r = odr_malloc(o, sizeof(*r));
167 r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
168 *r->numberOfRecordsReturned = 0;
169 r->nextResultSetPosition = odr_malloc(o, sizeof(int));
170 *r->nextResultSetPosition = 0;
171 r->presentStatus = odr_malloc(o, sizeof(int));
172 *r->presentStatus = Z_PRES_SUCCESS;
180 Z_DeleteResultSetRequest MDF *zget_DeleteResultSetRequest(ODR o)
182 Z_DeleteResultSetRequest *r = odr_malloc(o, sizeof(*r));
185 r->deleteFunction = odr_malloc(o, sizeof(int));
186 *r->deleteFunction = Z_DeleteRequest_list;
188 r->resultSetList = 0;
195 Z_DeleteResultSetResponse MDF *zget_DeleteResultSetResponse(ODR o)
197 Z_DeleteResultSetResponse *r = odr_malloc(o, sizeof(*r));
200 r->deleteOperationStatus = odr_malloc(o, sizeof(int));
201 *r->deleteOperationStatus = Z_DeleteStatus_success;
203 r->deleteListStatuses = 0;
204 r->numberNotDeleted = 0;
205 r->num_bulkStatuses = 0;
207 r->deleteMessage = 0;
214 Z_ScanRequest MDF *zget_ScanRequest(ODR o)
216 Z_ScanRequest *r = odr_malloc(o, sizeof(*r));
219 r->num_databaseNames = 0;
220 r->databaseNames = 0;
222 r->termListAndStartPoint = 0;
224 r->numberOfTermsRequested = odr_malloc(o, sizeof(int));
225 *r->numberOfTermsRequested = 20;
226 r->preferredPositionInResponse = 0;
233 Z_ScanResponse MDF *zget_ScanResponse(ODR o)
235 Z_ScanResponse *r = odr_malloc(o, sizeof(*r));
239 r->scanStatus = odr_malloc(o, sizeof(int));
240 *r->scanStatus = Z_Scan_success;
241 r->numberOfEntriesReturned = odr_malloc(o, sizeof(int));
242 *r->numberOfEntriesReturned = 0;
243 r->positionOfTerm =0;
252 Z_TriggerResourceControlRequest MDF *zget_TriggerResourceControlRequest(ODR o)
254 Z_TriggerResourceControlRequest *r = odr_malloc(o, sizeof(*r));
257 r->requestedAction = odr_malloc(o, sizeof(int));
258 *r->requestedAction = Z_TriggerResourceCtrl_resourceReport;
259 r->prefResourceReportFormat = 0;
260 r->resultSetWanted = 0;
267 Z_ResourceControlRequest MDF *zget_ResourceControlRequest(ODR o)
269 Z_ResourceControlRequest *r = odr_malloc(o, sizeof(*r));
272 r->suspendedFlag = 0;
273 r->resourceReport = 0;
274 r->partialResultsAvailable = 0;
275 r->responseRequired = odr_malloc(o, sizeof(bool_t));
276 *r->responseRequired = 0;
277 r->triggeredRequestFlag = 0;
284 Z_ResourceControlResponse MDF *zget_ResourceControlResponse(ODR o)
286 Z_ResourceControlResponse *r = odr_malloc(o, sizeof(*r));
289 r->continueFlag = odr_malloc(o, sizeof(bool_t));
290 *r->continueFlag = 1;
291 r->resultSetWanted = 0;
298 Z_AccessControlRequest *zget_AccessControlRequest(ODR o)
300 Z_AccessControlRequest *r = odr_malloc(o, sizeof(*r));
303 r->which = Z_AccessRequest_simpleForm;
311 Z_AccessControlResponse *zget_AccessControlResponse(ODR o)
313 Z_AccessControlResponse *r = odr_malloc(o, sizeof(*r));
316 r->which = Z_AccessResponse_simpleForm;
325 Z_Segment *zget_Segment(ODR o)
327 Z_Segment *r = odr_malloc(o, sizeof(*r));
330 r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
331 *r->numberOfRecordsReturned = 0;
332 r->num_segmentRecords = 0;
333 r->segmentRecords = 0;
338 Z_Close MDF *zget_Close(ODR o)
340 Z_Close *r = odr_malloc(o, sizeof(*r));
343 r->closeReason = odr_malloc(o, sizeof(int));
344 *r->closeReason = Z_Close_finished;
345 r->diagnosticInformation = 0;
346 r->resourceReportFormat = 0;
347 r->resourceReport = 0;
354 Z_APDU MDF *zget_APDU(ODR o, enum Z_APDU_which which)
356 Z_APDU *r = odr_malloc(o, sizeof(*r));
358 switch (r->which = which)
360 case Z_APDU_initRequest:
361 r->u.initRequest = zget_InitRequest(o); break;
362 case Z_APDU_initResponse:
363 r->u.initResponse = zget_InitResponse(o); break;
364 case Z_APDU_searchRequest:
365 r->u.searchRequest = zget_SearchRequest(o); break;
366 case Z_APDU_searchResponse:
367 r->u.searchResponse = zget_SearchResponse(o); break;
368 case Z_APDU_presentRequest:
369 r->u.presentRequest = zget_PresentRequest(o); break;
370 case Z_APDU_presentResponse:
371 r->u.presentResponse = zget_PresentResponse(o); break;
372 case Z_APDU_deleteResultSetRequest:
373 r->u.deleteResultSetRequest = zget_DeleteResultSetRequest(o); break;
374 case Z_APDU_deleteResultSetResponse:
375 r->u.deleteResultSetResponse = zget_DeleteResultSetResponse(o);
377 case Z_APDU_scanRequest:
378 r->u.scanRequest = zget_ScanRequest(o); break;
379 case Z_APDU_scanResponse:
380 r->u.scanResponse = zget_ScanResponse(o); break;
381 case Z_APDU_triggerResourceControlRequest:
382 r->u.triggerResourceControlRequest =
383 zget_TriggerResourceControlRequest(o); break;
384 case Z_APDU_resourceControlRequest:
385 r->u.resourceControlRequest = zget_ResourceControlRequest(o);
387 case Z_APDU_resourceControlResponse:
388 r->u.resourceControlResponse = zget_ResourceControlResponse(o);
390 case Z_APDU_segmentRequest:
391 r->u.segmentRequest = zget_Segment(o);
394 r->u.close = zget_Close(o);
397 fprintf(stderr, "Bad APDU-type to zget_APDU");