2 * Copyright (c) 1995, Index Data.
4 * Permission to use, copy, modify, distribute, and sell this software and
5 * its documentation, in whole or in part, for any purpose, is hereby granted,
8 * 1. This copyright and permission notice appear in all copies of the
9 * software and its documentation. Notices of copyright or attribution
10 * which appear at the beginning of any file must remain unchanged.
12 * 2. The name of Index Data or the individual authors may not be used to
13 * endorse or promote products derived from this software without specific
14 * prior written permission.
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
18 * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
19 * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
20 * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
21 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
22 * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
23 * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
27 * Revision 1.17 1995-06-15 15:42:05 quinn
30 * Revision 1.16 1995/06/15 07:45:06 quinn
33 * Revision 1.15 1995/06/14 15:26:43 quinn
34 * *** empty log message ***
36 * Revision 1.14 1995/06/07 14:42:34 quinn
39 * Revision 1.13 1995/06/07 14:36:47 quinn
42 * Revision 1.12 1995/06/05 10:53:13 quinn
45 * Revision 1.11 1995/06/02 09:49:47 quinn
48 * Revision 1.10 1995/05/29 08:11:34 quinn
49 * Moved oid from odr/asn to util.
51 * Revision 1.9 1995/05/22 11:31:25 quinn
54 * Revision 1.8 1995/05/17 08:41:35 quinn
55 * Added delete to proto & other little things.
56 * Relaying auth info to backend.
58 * Revision 1.7 1995/05/16 08:50:37 quinn
59 * License, documentation, and memory fixes
61 * Revision 1.6 1995/05/15 11:55:55 quinn
62 * Work on asynchronous activity.
64 * Revision 1.5 1995/04/17 11:28:18 quinn
67 * Revision 1.4 1995/04/10 10:22:47 quinn
70 * Revision 1.3 1995/03/30 12:18:09 quinn
73 * Revision 1.2 1995/03/30 10:26:48 quinn
74 * Added Term structure
76 * Revision 1.1 1995/03/30 09:39:42 quinn
77 * Moved .h files to include directory
79 * Revision 1.11 1995/03/30 09:08:44 quinn
80 * Added Resource control protocol
82 * Revision 1.10 1995/03/29 15:39:39 quinn
83 * Adding some resource control elements, and a null-check to getentbyoid
85 * Revision 1.9 1995/03/29 08:06:18 quinn
86 * Added a few v3 elements
88 * Revision 1.8 1995/03/22 10:12:49 quinn
89 * Added Z_PRES constants.
91 * Revision 1.7 1995/03/20 09:45:12 quinn
94 * Revision 1.5 1995/03/07 16:29:34 quinn
95 * Added authentication stuff.
97 * Revision 1.4 1995/03/07 10:13:00 quinn
98 * Added prototype for z_APDU()
100 * Revision 1.3 1995/02/14 11:54:23 quinn
103 * Revision 1.2 1995/02/09 15:51:40 quinn
106 * Revision 1.1 1995/02/06 16:44:48 quinn
107 * First hack at Z/SR protocol
117 #include <yaz-version.h>
120 * Because we didn't have time to put all of the extra v3 elements in here
121 * before the first applications were written, we have to place them
122 * in #ifdefs in places where they would break existing code. If you are
123 * developing new stuff, we urge you to leave them in, even if you don't
124 * intend to use any v3 features. When we are comfortable that the old
125 * apps have been updated, we'll remove the #ifdefs.
130 /* ----------------- GLOBAL AUXILIARY DEFS ----------------*/
132 typedef Odr_oct Z_ReferenceId;
133 typedef char Z_DatabaseName;
134 typedef char Z_ResultSetId;
135 typedef Odr_oct Z_ResultsetId;
137 typedef struct Z_InfoCategory
139 Odr_oid *categoryTypeId; /* OPTIONAL */
143 typedef struct Z_OtherInformationUnit
145 Z_InfoCategory *category; /* OPTIONAL */
148 Z_OtherInfo_characterInfo,
149 Z_OtherInfo_binaryInfo,
150 Z_OtherInfo_externallyDefinedInfo,
157 Odr_external *externallyDefinedInfo;
160 } Z_OtherInformationUnit;
162 typedef struct Z_OtherInformation
165 Z_OtherInformationUnit **list;
166 } Z_OtherInformation;
168 typedef struct Z_StringOrNumeric
172 Z_StringOrNumeric_string,
173 Z_StringOrNumeric_numeric
182 typedef struct Z_Unit
184 char *unitSystem; /* OPTIONAL */
185 Z_StringOrNumeric *unitType; /* OPTIONAL */
186 Z_StringOrNumeric *unit; /* OPTIONAL */
187 int *scaleFactor; /* OPTIONAL */
190 typedef struct Z_IntUnit
196 /* ----------------- INIT SERVICE ----------------*/
200 char *groupId; /* OPTIONAL */
201 char *userId; /* OPTIONAL */
202 char *password; /* OPTIONAL */
205 typedef struct Z_IdAuthentication
209 Z_IdAuthentication_open,
210 Z_IdAuthentication_idPass,
211 Z_IdAuthentication_anonymous,
212 Z_IdAuthentication_other
221 } Z_IdAuthentication;
223 #define Z_ProtocolVersion_1 0
224 #define Z_ProtocolVersion_2 1
225 #define Z_ProtocolVersion_3 2
227 #define Z_Options_search 0
228 #define Z_Options_present 1
229 #define Z_Options_delSet 2
230 #define Z_Options_resourceReport 3
231 #define Z_Options_triggerResourceCtrl 4
232 #define Z_Options_resourceCtrl 5
233 #define Z_Options_accessCtrl 6
234 #define Z_Options_scan 7
235 #define Z_Options_sort 8
236 #define Z_Options_reserved 9
237 #define Z_Options_extendedServices 10
238 #define Z_Options_level_1Segmentation 11
239 #define Z_Options_level_2Segmentation 12
240 #define Z_Options_concurrentOperations 13
241 #define Z_Options_namedResultSets 14
243 typedef struct Z_InitRequest
245 Z_ReferenceId *referenceId; /* OPTIONAL */
246 Odr_bitmask *protocolVersion;
247 Odr_bitmask *options;
248 int *preferredMessageSize;
249 int *maximumRecordSize;
250 Z_IdAuthentication* idAuthentication; /* OPTIONAL */
251 char *implementationId; /* OPTIONAL */
252 char *implementationName; /* OPTIONAL */
253 char *implementationVersion; /* OPTIONAL */
254 Odr_external *userInformationField; /* OPTIONAL */
256 Z_OtherInformation *otherInfo; /* OPTIONAL */
260 typedef struct Z_InitResponse
262 Z_ReferenceId *referenceId; /* OPTIONAL */
263 Odr_bitmask *protocolVersion;
264 Odr_bitmask *options;
265 int *preferredMessageSize;
266 int *maximumRecordSize;
268 char *implementationId; /* OPTIONAL */
269 char *implementationName; /* OPTIONAL */
270 char *implementationVersion; /* OPTIONAL */
271 Odr_external *userInformationField; /* OPTIONAL */
273 Z_OtherInformation *otherInfo; /* OPTIONAL */
277 typedef struct Z_NSRAuthentication
282 } Z_NSRAuthentication;
284 int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt);
286 int z_StrAuthentication(ODR o, char **p, int opt);
288 /* ------------------ SEARCH SERVICE ----------------*/
290 typedef struct Z_DatabaseSpecificUnit
293 char *elementSetName;
294 } Z_DatabaseSpecificUnit;
296 typedef struct Z_DatabaseSpecific
299 Z_DatabaseSpecificUnit **elements;
300 } Z_DatabaseSpecific;
302 typedef struct Z_ElementSetNames
305 #define Z_ElementSetNames_generic 0
306 #define Z_ElementSetNames_databaseSpecific 1
310 Z_DatabaseSpecific *databaseSpecific;
314 /* ---------------------- RPN QUERY --------------------------- */
316 typedef struct Z_ComplexAttribute
319 Z_StringOrNumeric **list;
320 int num_semanticAction;
321 int **semanticAction; /* OPTIONAL */
322 } Z_ComplexAttribute;
324 typedef struct Z_AttributeElement
327 Odr_oid *attributeSet; /* OPTIONAL - v3 only */
333 Z_AttributeValue_numeric,
334 Z_AttributeValue_complex
339 Z_ComplexAttribute *complex;
344 } Z_AttributeElement;
346 typedef struct Z_Term
352 Z_Term_characterString,
356 Z_Term_integerAndUnit,
361 Odr_oct *general; /* this is required for v2 */
363 char *characterString;
366 Odr_external *external;
367 /* Z_IntUnit *integerAndUnit; */
372 typedef struct Z_AttributesPlusTerm
375 Z_AttributeElement **attributeList;
377 } Z_AttributesPlusTerm;
379 typedef struct Z_ResultSetPlusAttributes
383 Z_AttributeElement **attributeList;
384 } Z_ResultSetPlusAttributes;
386 typedef struct Z_ProximityOperator
388 bool_t *exclusion; /* OPTIONAL */
392 #define Z_Prox_lessThan 1
393 #define Z_Prox_lessThanOrEqual 2
394 #define Z_Prox_equal 3
395 #define Z_Prox_greaterThanOrEqual 4
396 #define Z_Prox_greaterThan 5
397 #define Z_Prox_notEqual 6
403 int *proximityUnitCode;
404 #define Z_ProxUnit_character 1
405 #define Z_ProxUnit_word 2
406 #define Z_ProxUnit_sentence 3
407 #define Z_ProxUnit_paragraph 4
408 #define Z_ProxUnit_section 5
409 #define Z_ProxUnit_chapter 6
410 #define Z_ProxUnit_document 7
411 #define Z_ProxUnit_element 8
412 #define Z_ProxUnit_subelement 9
413 #define Z_ProxUnit_elementType 10
414 #define Z_ProxUnit_byte 11 /* v3 only */
415 } Z_ProximityOperator;
417 typedef struct Z_Operator
428 Odr_null *and; /* these guys are nulls. */
431 Z_ProximityOperator *prox;
435 typedef struct Z_Operand
440 Z_Operand_resultSetId,
441 Z_Operand_resultAttr /* v3 only */
445 Z_AttributesPlusTerm *attributesPlusTerm;
446 Z_ResultSetId *resultSetId;
447 Z_ResultSetPlusAttributes *resultAttr;
451 typedef struct Z_Complex
453 struct Z_RPNStructure *s1;
454 struct Z_RPNStructure *s2;
455 Z_Operator *operator;
458 typedef struct Z_RPNStructure
462 Z_RPNStructure_simple,
463 Z_RPNStructure_complex
472 typedef struct Z_RPNQuery
474 Odr_oid *attributeSetId;
475 Z_RPNStructure *RPNStructure;
478 /* -------------------------- SEARCHREQUEST -------------------------- */
480 typedef struct Z_Query
493 Z_RPNQuery *type_101;
497 typedef struct Z_SearchRequest
499 Z_ReferenceId *referenceId; /* OPTIONAL */
500 int *smallSetUpperBound;
501 int *largeSetLowerBound;
502 int *mediumSetPresentNumber;
503 bool_t *replaceIndicator;
505 int num_databaseNames;
506 char **databaseNames;
507 Z_ElementSetNames *smallSetElementSetNames; /* OPTIONAL */
508 Z_ElementSetNames *mediumSetElementSetNames; /* OPTIONAL */
509 Odr_oid *preferredRecordSyntax; /* OPTIONAL */
512 Z_OtherInformation *additionalSearchInfo; /* OPTIONAL */
513 Z_OtherInformation *otherInfo; /* OPTIONAL */
517 /* ------------------------ RECORD -------------------------- */
519 typedef Odr_external Z_DatabaseRecord;
523 typedef struct Z_DefaultDiagFormat
525 Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */
528 } Z_DefaultDiagFormat;
530 typedef struct Z_DiagRec
534 Z_DiagRec_defaultFormat,
535 Z_DiagRec_externallyDefined
539 Z_DefaultDiagFormat *defaultFormat;
540 Odr_external *externallyDefined;
546 typedef struct Z_DiagRec
548 Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */
555 typedef struct Z_DiagRecs
558 Z_DiagRec **diagRecs;
561 typedef struct Z_NamePlusRecord
563 char *databaseName; /* OPTIONAL */
566 Z_NamePlusRecord_databaseRecord,
567 Z_NamePlusRecord_surrogateDiagnostic
572 Z_DatabaseRecord *databaseRecord;
573 Z_DiagRec *surrogateDiagnostic;
577 typedef struct Z_NamePlusRecordList
580 Z_NamePlusRecord **records;
581 } Z_NamePlusRecordList;
583 typedef struct Z_Records
589 Z_Records_multipleNSD
593 Z_NamePlusRecordList *databaseOrSurDiagnostics;
594 Z_DiagRec *nonSurrogateDiagnostic;
595 Z_DiagRecs *multipleNonSurDiagnostics;
599 /* ------------------------ SEARCHRESPONSE ------------------ */
601 typedef struct Z_SearchResponse
603 Z_ReferenceId *referenceId; /* OPTIONAL */
605 int *numberOfRecordsReturned;
606 int *nextResultSetPosition;
607 bool_t *searchStatus;
608 int *resultSetStatus; /* OPTIONAL */
609 #define Z_RES_SUBSET 1
610 #define Z_RES_INTERIM 2
612 int *presentStatus; /* OPTIONAL */
613 #define Z_PRES_SUCCESS 0
614 #define Z_PRES_PARTIAL_1 1
615 #define Z_PRES_PARTIAL_2 2
616 #define Z_PRES_PARTIAL_3 3
617 #define Z_PRES_PARTIAL_4 4
618 #define Z_PRES_FAILURE 5
619 Z_Records *records; /* OPTIONAL */
621 Z_OtherInformation *additionalSearchInfo;
622 Z_OtherInformation *otherInfo;
626 /* ------------------------- PRESENT SERVICE -----------------*/
628 typedef struct Z_ElementSpec
632 Z_ElementSpec_elementSetName,
633 Z_ElementSpec_externalSpec
637 char *elementSetName;
638 Odr_external *externalSpec;
642 typedef struct Z_Specification
644 Odr_oid *schema; /* OPTIONAL */
645 Z_ElementSpec *elementSpec; /* OPTIONAL */
648 typedef struct Z_DbSpecific
651 Z_Specification *spec;
654 typedef struct Z_CompSpec
656 bool_t *selectAlternativeSyntax;
657 Z_Specification *generic; /* OPTIONAL */
659 Z_DbSpecific **dbSpecific; /* OPTIONAL */
660 int num_recordSyntax;
661 Odr_oid **recordSyntax; /* OPTIONAL */
664 typedef struct Z_RecordComposition
673 Z_ElementSetNames *simple;
676 } Z_RecordComposition;
678 typedef struct Z_Range
680 int *startingPosition;
681 int *numberOfRecords;
684 typedef struct Z_PresentRequest
686 Z_ReferenceId *referenceId; /* OPTIONAL */
687 Z_ResultSetId *resultSetId;
688 int *resultSetStartPoint;
689 int *numberOfRecordsRequested;
692 Z_Range **additionalRanges; /* OPTIONAL */
693 Z_RecordComposition *recordComposition; /* OPTIONAL */
695 Z_ElementSetNames *elementSetNames; /* OPTIONAL */
697 Odr_oid *preferredRecordSyntax; /* OPTIONAL */
699 int *maxSegmentCount; /* OPTIONAL */
700 int *maxRecordSize; /* OPTIONAL */
701 int *maxSegmentSize; /* OPTIONAL */
702 Z_OtherInformation *otherInfo; /* OPTIONAL */
706 typedef struct Z_PresentResponse
708 Z_ReferenceId *referenceId; /* OPTIONAL */
709 int *numberOfRecordsReturned;
710 int *nextResultSetPosition;
714 Z_OtherInformation *otherInfo; /* OPTIONAL */
718 /* ------------------ RESOURCE CONTROL ----------------*/
720 typedef struct Z_TriggerResourceControlRequest
722 Z_ReferenceId *referenceId; /* OPTIONAL */
723 int *requestedAction;
724 #define Z_TriggerResourceCtrl_resourceReport 1
725 #define Z_TriggerResourceCtrl_resourceControl 2
726 #define Z_TriggerResourceCtrl_cancel 3
727 Odr_oid *prefResourceReportFormat; /* OPTIONAL */
728 bool_t *resultSetWanted; /* OPTIONAL */
730 Z_OtherInformation *otherInfo;
732 } Z_TriggerResourceControlRequest;
734 typedef struct Z_ResourceControlRequest
736 Z_ReferenceId *referenceId; /* OPTIONAL */
737 bool_t *suspendedFlag; /* OPTIONAL */
738 Odr_external *resourceReport; /* OPTIONAL */
739 int *partialResultsAvailable; /* OPTIONAL */
740 #define Z_ResourceControlRequest_subset 1
741 #define Z_ResourceControlRequest_interim 2
742 #define Z_ResourceControlRequest_none 3
743 bool_t *responseRequired;
744 bool_t *triggeredRequestFlag; /* OPTIONAL */
746 Z_OtherInformation *otherInfo;
748 } Z_ResourceControlRequest;
750 typedef struct Z_ResourceControlResponse
752 Z_ReferenceId *referenceId; /* OPTIONAL */
753 bool_t *continueFlag;
754 bool_t *resultSetWanted; /* OPTIONAL */
756 Z_OtherInformation *otherInfo;
758 } Z_ResourceControlResponse;
761 /* ------------------ ACCESS CTRL SERVICE ----------------*/
763 typedef struct Z_AccessControlRequest
765 Z_ReferenceId *referenceId; /* OPTIONAL */
768 Z_AccessRequest_simpleForm,
769 Z_AccessRequest_externallyDefined
774 Odr_external *externallyDefined;
777 Z_OtherInformation *otherInfo; /* OPTIONAL */
779 } Z_AccessControlRequest;
781 typedef struct Z_AccessControlResponse
783 Z_ReferenceId *referenceId; /* OPTIONAL */
786 Z_AccessResponse_simpleForm,
787 Z_AccessResponse_externallyDefined
792 Odr_external *externallyDefined;
794 Z_DiagRec *diagnostic; /* OPTIONAL */
796 Z_OtherInformation *otherInfo; /* OPTIONAL */
798 } Z_AccessControlResponse;
800 /* ------------------------ SCAN SERVICE -------------------- */
802 typedef struct Z_AttributeList
805 Z_AttributeElement **attributes;
808 typedef struct Z_AlternativeTerm
811 Z_AttributesPlusTerm **terms;
814 typedef struct Z_OccurrenceByAttributes
816 Z_AttributeList *attributes;
828 /* Z_ByDatabase *byDatabase; */
831 } Z_OccurrenceByAttributes;
833 typedef struct Z_TermInfo
836 Z_AttributeList *suggestedAttributes; /* OPTIONAL */
837 Z_AlternativeTerm *alternativeTerm; /* OPTIONAL */
838 int *globalOccurrences; /* OPTIONAL */
839 Z_OccurrenceByAttributes *byAttributes; /* OPTIONAL */
842 typedef struct Z_Entry
847 Z_Entry_surrogateDiagnostic
851 Z_TermInfo *termInfo;
852 Z_DiagRec *surrogateDiagnostic;
856 typedef struct Z_Entries
862 typedef struct Z_ListEntries
866 Z_ListEntries_entries,
867 Z_ListEntries_nonSurrogateDiagnostics
872 Z_DiagRecs *nonSurrogateDiagnostics;
876 typedef struct Z_ScanRequest
878 Z_ReferenceId *referenceId; /* OPTIONAL */
879 int num_databaseNames;
880 char **databaseNames;
881 Odr_oid *attributeSet; /* OPTIONAL */
882 Z_AttributesPlusTerm *termListAndStartPoint;
883 int *stepSize; /* OPTIONAL */
884 int *numberOfTermsRequested;
885 int *preferredPositionInResponse; /* OPTIONAL */
887 Z_OtherInformation *otherInfo;
891 typedef struct Z_ScanResponse
893 Z_ReferenceId *referenceId; /* OPTIONAL */
894 int *stepSize; /* OPTIONAL */
896 #define Z_Scan_success 0
897 #define Z_Scan_partial_1 1
898 #define Z_Scan_partial_2 2
899 #define Z_Scan_partial_3 3
900 #define Z_Scan_partial_4 4
901 #define Z_Scan_partial_5 5
902 #define Z_Scan_failure 6
903 int *numberOfEntriesReturned;
904 int *positionOfTerm; /* OPTIONAL */
905 Z_ListEntries *entries; /* OPTIONAL */
906 Odr_oid *attributeSet; /* OPTIONAL */
908 Z_OtherInformation *otherInfo;
913 /* ------------------------ DELETE -------------------------- */
915 #define Z_DeleteStatus_success 0
916 #define Z_DeleteStatus_resultSetDidNotExist 1
917 #define Z_DeleteStatus_previouslyDeletedByTarget 2
918 #define Z_DeleteStatus_systemProblemAtTarget 3
919 #define Z_DeleteStatus_accessNotAllowed 4
920 #define Z_DeleteStatus_resourceControlAtOrigin 5
921 #define Z_DeleteStatus_resourceControlAtTarget 6
922 #define Z_DeleteStatus_bulkDeleteNotSupported 7
923 #define Z_DeleteStatus_notAllRsltSetsDeletedOnBulkDlte 8
924 #define Z_DeleteStatus_notAllRequestedResultSetsDeleted 9
925 #define Z_DeleteStatus_resultSetInUse 10
927 typedef struct Z_ListStatus
933 typedef struct Z_DeleteResultSetRequest
935 Z_ReferenceId *referenceId; /* OPTIONAL */
937 #define Z_DeleteRequest_list 0
938 #define Z_DeleteRequest_all 1
940 Z_ResultSetId **resultSetList; /* OPTIONAL */
942 Z_OtherInformation *otherInfo;
944 } Z_DeleteResultSetRequest;
946 typedef struct Z_DeleteResultSetResponse
948 Z_ReferenceId *referenceId; /* OPTIONAL */
949 int *deleteOperationStatus;
951 Z_ListStatus *deleteListStatuses; /* OPTIONAL */
952 int *numberNotDeleted; /* OPTIONAL */
953 int num_bulkStatuses;
954 Z_ListStatus *bulkStatuses; /* OPTIONAL */
955 char *deleteMessage; /* OPTIONAL */
957 Z_OtherInformation *otherInfo;
959 } Z_DeleteResultSetResponse;
961 /* ------------------------ CLOSE SERVICE ------------------- */
963 typedef struct Z_Close
965 Z_ReferenceId *referenceId; /* OPTIONAL */
967 #define Z_Close_finished 0
968 #define Z_Close_shutdown 1
969 #define Z_Close_systemProblem 2
970 #define Z_Close_costLimit 3
971 #define Z_Close_resources 4
972 #define Z_Close_securityViolation 5
973 #define Z_Close_protocolError 6
974 #define Z_Close_lackOfActivity 7
975 #define Z_Close_peerAbort 8
976 #define Z_Close_unspecified 9
977 char *diagnosticInformation; /* OPTIONAL */
978 Odr_oid *resourceReportFormat; /* OPTIONAL */
979 Odr_external *resourceReport; /* OPTIONAL */
981 Z_OtherInformation *otherInfo; /* OPTIONAL */
985 /* ------------------------ SEGMENTATION -------------------- */
987 typedef struct Z_Segment
989 Z_ReferenceId *referenceId; /* OPTIONAL */
990 int *numberOfRecordsReturned;
991 int num_segmentRecords;
992 Z_NamePlusRecord **segmentRecords;
993 Z_OtherInformation *otherInfo; /* OPTIONAL */
997 /* ------------------------ APDU ---------------------------- */
999 typedef struct Z_APDU
1004 Z_APDU_initResponse,
1005 Z_APDU_searchRequest,
1006 Z_APDU_searchResponse,
1007 Z_APDU_presentRequest,
1008 Z_APDU_presentResponse,
1009 Z_APDU_deleteResultSetRequest,
1010 Z_APDU_deleteResultSetResponse,
1011 Z_APDU_resourceControlRequest,
1012 Z_APDU_resourceControlResponse,
1013 Z_APDU_triggerResourceControlRequest,
1015 Z_APDU_scanResponse,
1016 Z_APDU_segmentRequest,
1021 Z_InitRequest *initRequest;
1022 Z_InitResponse *initResponse;
1023 Z_SearchRequest *searchRequest;
1024 Z_SearchResponse *searchResponse;
1025 Z_PresentRequest *presentRequest;
1026 Z_PresentResponse *presentResponse;
1027 Z_DeleteResultSetRequest *deleteResultSetRequest;
1028 Z_DeleteResultSetResponse *deleteResultSetResponse;
1029 Z_ResourceControlRequest *resourceControlRequest;
1030 Z_ResourceControlResponse *resourceControlResponse;
1031 Z_TriggerResourceControlRequest *triggerResourceControlRequest;
1032 Z_ScanRequest *scanRequest;
1033 Z_ScanResponse *scanResponse;
1034 Z_Segment *segmentRequest;
1039 int z_APDU(ODR o, Z_APDU **p, int opt);
1041 Z_InitRequest *zget_InitRequest(ODR o);
1042 Z_InitResponse *zget_InitResponse(ODR o);
1043 Z_SearchRequest *zget_SearchRequest(ODR o);
1044 Z_SearchResponse *zget_SearchResponse(ODR o);
1045 Z_PresentRequest *zget_PresentRequest(ODR o);
1046 Z_PresentResponse *zget_PresentResponse(ODR o);
1047 Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o);
1048 Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o);
1049 Z_ScanRequest *zget_ScanRequest(ODR o);
1050 Z_ScanResponse *zget_ScanResponse(ODR o);
1051 Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o);
1052 Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o);
1053 Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o);
1054 Z_Close *zget_Close(ODR o);
1055 Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which);
1057 #include <prt-rsc.h>
1058 #include <prt-acc.h>