2 * Copyright (c) 1995, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
7 * Revision 1.2 1995-05-30 10:15:49 quinn
8 * Added our implementor's ID
10 * Revision 1.1 1995/05/22 11:30:20 quinn
11 * Adding Z39.50-1992 stuff to proto.c. Adding zget.c
17 #include "../version.h"
19 Z_InitRequest *zget_InitRequest(ODR o)
21 Z_InitRequest *r = odr_malloc(o, sizeof(*r));
24 r->options = odr_malloc(o, sizeof(*r->options));
25 ODR_MASK_ZERO(r->options);
26 r->protocolVersion = odr_malloc(o, sizeof(*r->protocolVersion));
27 ODR_MASK_ZERO(r->protocolVersion);
28 r->preferredMessageSize = odr_malloc(o, sizeof(int));
29 *r->preferredMessageSize = 30*1024;
30 r->maximumRecordSize = odr_malloc(o, sizeof(int));
31 *r->maximumRecordSize = 30*1024;
32 r->idAuthentication = 0;
33 r->implementationId = "YAZ (id=81)";
34 r->implementationName = "Index Data/YAZ";
35 r->implementationVersion = YAZ_VERSION;
36 r->userInformationField = 0;
40 Z_InitResponse *zget_InitResponse(ODR o)
42 Z_InitResponse *r = odr_malloc(o, sizeof(*r));
45 r->options = odr_malloc(o, sizeof(*r->options));
46 ODR_MASK_ZERO(r->options);
47 r->protocolVersion = odr_malloc(o, sizeof(*r->protocolVersion));
48 ODR_MASK_ZERO(r->protocolVersion);
49 r->preferredMessageSize = odr_malloc(o, sizeof(int));
50 *r->preferredMessageSize = 30*1024;
51 r->maximumRecordSize = odr_malloc(o, sizeof(int));
52 *r->maximumRecordSize = 30*1024;
53 r->implementationId = "YAZ";
54 r->implementationName = "Index Data YAZ Z39.50/SR implementation";
55 r->implementationVersion = YAZ_VERSION;
56 r->userInformationField = 0;
60 Z_SearchRequest *zget_SearchRequest(ODR o)
62 Z_SearchRequest *r = odr_malloc(o, sizeof(*r));
65 r->smallSetUpperBound = odr_malloc(o, sizeof(int));
66 *r->smallSetUpperBound = 0;
67 r->largeSetLowerBound = odr_malloc(o, sizeof(int));
68 *r->largeSetLowerBound = 1;
69 r->mediumSetPresentNumber = odr_malloc(o, sizeof(int));
70 *r->mediumSetPresentNumber = 0;
71 r->replaceIndicator = odr_malloc(o, sizeof(bool_t));
72 *r->replaceIndicator = 1;
73 r->resultSetName = "Default";
74 r->num_databaseNames = 0;
76 r->smallSetElementSetNames = 0;
77 r->mediumSetElementSetNames = 0;
78 r->preferredRecordSyntax = 0;
83 Z_SearchResponse *zget_SearchResponse(ODR o)
85 Z_SearchResponse *r = odr_malloc(o, sizeof(*r));
88 r->resultCount = odr_malloc(o, sizeof(int));
90 r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
91 *r->numberOfRecordsReturned = 0;
92 r->nextResultSetPosition = odr_malloc(o, sizeof(int));
93 *r->nextResultSetPosition = 0;
94 r->searchStatus = odr_malloc(o, sizeof(bool_t));
96 r->resultSetStatus = 0;
102 Z_PresentRequest *zget_PresentRequest(ODR o)
104 Z_PresentRequest *r = odr_malloc(o, sizeof(*r));
107 r->resultSetId = "Default";
108 r->resultSetStartPoint = odr_malloc(o, sizeof(int));
109 *r->resultSetStartPoint = 1;
110 r->numberOfRecordsRequested = odr_malloc(o, sizeof(int));
111 *r->numberOfRecordsRequested = 10;
112 r->elementSetNames = 0;
113 r->preferredRecordSyntax = 0;
117 Z_PresentResponse *zget_PresentResponse(ODR o)
119 Z_PresentResponse *r = odr_malloc(o, sizeof(*r));
122 r->numberOfRecordsReturned = odr_malloc(o, sizeof(int));
123 *r->numberOfRecordsReturned = 0;
124 r->nextResultSetPosition = odr_malloc(o, sizeof(int));
125 *r->nextResultSetPosition = 0;
126 r->presentStatus = odr_malloc(o, sizeof(int));
127 *r->presentStatus = Z_PRES_SUCCESS;
132 Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o)
134 Z_DeleteResultSetRequest *r = odr_malloc(o, sizeof(*r));
137 r->deleteFunction = odr_malloc(o, sizeof(int));
138 *r->deleteFunction = Z_DeleteRequest_list;
140 r->resultSetList = 0;
144 Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o)
146 Z_DeleteResultSetResponse *r = odr_malloc(o, sizeof(*r));
149 r->deleteOperationStatus = odr_malloc(o, sizeof(int));
150 *r->deleteOperationStatus = Z_DeleteStatus_success;
152 r->deleteListStatuses = 0;
153 r->numberNotDeleted = 0;
154 r->num_bulkStatuses = 0;
156 r->deleteMessage = 0;
160 Z_ScanRequest *zget_ScanRequest(ODR o)
162 Z_ScanRequest *r = odr_malloc(o, sizeof(*r));
165 r->num_databaseNames = 0;
166 r->databaseNames = 0;
168 r->termListAndStartPoint = 0;
170 r->numberOfTermsRequested = odr_malloc(o, sizeof(int));
171 *r->numberOfTermsRequested = 20;
172 r->preferredPositionInResponse = 0;
176 Z_ScanResponse *zget_ScanResponse(ODR o)
178 Z_ScanResponse *r = odr_malloc(o, sizeof(*r));
182 r->scanStatus = odr_malloc(o, sizeof(int));
183 *r->scanStatus = Z_Scan_success;
184 r->numberOfEntriesReturned = odr_malloc(o, sizeof(int));
185 *r->numberOfEntriesReturned = 0;
186 r->positionOfTerm =0;
192 Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o)
194 Z_TriggerResourceControlRequest *r = odr_malloc(o, sizeof(*r));
197 r->requestedAction = odr_malloc(o, sizeof(int));
198 *r->requestedAction = Z_TriggerResourceCtrl_resourceReport;
199 r->prefResourceReportFormat = 0;
200 r->resultSetWanted = 0;
204 Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o)
206 Z_ResourceControlRequest *r = odr_malloc(o, sizeof(*r));
209 r->suspendedFlag = 0;
210 r->resourceReport = 0;
211 r->partialResultsAvailable = 0;
212 r->responseRequired = odr_malloc(o, sizeof(bool_t));
213 *r->responseRequired = 0;
214 r->triggeredRequestFlag = 0;
218 Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o)
220 Z_ResourceControlResponse *r = odr_malloc(o, sizeof(*r));
223 r->continueFlag = odr_malloc(o, sizeof(bool_t));
224 *r->continueFlag = 1;
225 r->resultSetWanted = 0;
229 Z_AccessControlRequest *zget_AccessControlRequest(ODR o)
231 Z_AccessControlRequest *r = odr_malloc(o, sizeof(*r));
234 r->which = Z_AccessRequest_simpleForm;
239 Z_AccessControlResponse *zget_AccessControlResponse(ODR o)
241 Z_AccessControlResponse *r = odr_malloc(o, sizeof(*r));
244 r->which = Z_AccessResponse_simpleForm;
250 Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which)
252 Z_APDU *r = odr_malloc(o, sizeof(*r));
254 switch (r->which = which)
256 case Z_APDU_initRequest:
257 r->u.initRequest = zget_InitRequest(o); break;
258 case Z_APDU_initResponse:
259 r->u.initResponse = zget_InitResponse(o); break;
260 case Z_APDU_searchRequest:
261 r->u.searchRequest = zget_SearchRequest(o); break;
262 case Z_APDU_searchResponse:
263 r->u.searchResponse = zget_SearchResponse(o); break;
264 case Z_APDU_presentRequest:
265 r->u.presentRequest = zget_PresentRequest(o); break;
266 case Z_APDU_presentResponse:
267 r->u.presentResponse = zget_PresentResponse(o); break;
268 case Z_APDU_deleteResultSetRequest:
269 r->u.deleteResultSetRequest = zget_DeleteResultSetRequest(o); break;
270 case Z_APDU_deleteResultSetResponse:
271 r->u.deleteResultSetResponse = zget_DeleteResultSetResponse(o);
273 case Z_APDU_scanRequest:
274 r->u.scanRequest = zget_ScanRequest(o); break;
275 case Z_APDU_scanResponse:
276 r->u.scanResponse = zget_ScanResponse(o); break;
277 case Z_APDU_triggerResourceControlRequest:
278 r->u.triggerResourceControlRequest =
279 zget_TriggerResourceControlRequest(o); break;
280 case Z_APDU_resourceControlRequest:
281 r->u.resourceControlRequest = zget_ResourceControlRequest(o);
283 case Z_APDU_resourceControlResponse:
284 r->u.resourceControlResponse = zget_ResourceControlResponse(o);
287 fprintf(stderr, "Bad APDU-type to zget_APDU");