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.16 1995-06-15 07:45:06 quinn
30 * Revision 1.15 1995/06/14 15:26:43 quinn
31 * *** empty log message ***
33 * Revision 1.14 1995/06/07 14:42:34 quinn
36 * Revision 1.13 1995/06/07 14:36:47 quinn
39 * Revision 1.12 1995/06/05 10:53:13 quinn
42 * Revision 1.11 1995/06/02 09:49:47 quinn
45 * Revision 1.10 1995/05/29 08:11:34 quinn
46 * Moved oid from odr/asn to util.
48 * Revision 1.9 1995/05/22 11:31:25 quinn
51 * Revision 1.8 1995/05/17 08:41:35 quinn
52 * Added delete to proto & other little things.
53 * Relaying auth info to backend.
55 * Revision 1.7 1995/05/16 08:50:37 quinn
56 * License, documentation, and memory fixes
58 * Revision 1.6 1995/05/15 11:55:55 quinn
59 * Work on asynchronous activity.
61 * Revision 1.5 1995/04/17 11:28:18 quinn
64 * Revision 1.4 1995/04/10 10:22:47 quinn
67 * Revision 1.3 1995/03/30 12:18:09 quinn
70 * Revision 1.2 1995/03/30 10:26:48 quinn
71 * Added Term structure
73 * Revision 1.1 1995/03/30 09:39:42 quinn
74 * Moved .h files to include directory
76 * Revision 1.11 1995/03/30 09:08:44 quinn
77 * Added Resource control protocol
79 * Revision 1.10 1995/03/29 15:39:39 quinn
80 * Adding some resource control elements, and a null-check to getentbyoid
82 * Revision 1.9 1995/03/29 08:06:18 quinn
83 * Added a few v3 elements
85 * Revision 1.8 1995/03/22 10:12:49 quinn
86 * Added Z_PRES constants.
88 * Revision 1.7 1995/03/20 09:45:12 quinn
91 * Revision 1.5 1995/03/07 16:29:34 quinn
92 * Added authentication stuff.
94 * Revision 1.4 1995/03/07 10:13:00 quinn
95 * Added prototype for z_APDU()
97 * Revision 1.3 1995/02/14 11:54:23 quinn
100 * Revision 1.2 1995/02/09 15:51:40 quinn
103 * Revision 1.1 1995/02/06 16:44:48 quinn
104 * First hack at Z/SR protocol
114 #include <yaz-version.h>
117 * Because we didn't have time to put all of the extra v3 elements in here
118 * before the first applications were written, we have to place them
119 * in #ifdefs in places where they would break existing code. If you are
120 * developing new stuff, we urge you to leave them in, even if you don't
121 * intend to use any v3 features. When we are comfortable that the old
122 * apps have been updated, we'll remove the #ifdefs.
127 /* ----------------- GLOBAL AUXILIARY DEFS ----------------*/
129 typedef Odr_oct Z_ReferenceId;
130 typedef char Z_DatabaseName;
131 typedef char Z_ResultSetId;
132 typedef Odr_oct Z_ResultsetId;
134 typedef struct Z_InfoCategory
136 Odr_oid *categoryTypeId; /* OPTIONAL */
140 typedef struct Z_OtherInformationUnit
142 Z_InfoCategory *category; /* OPTIONAL */
145 Z_OtherInfo_characterInfo,
146 Z_OtherInfo_binaryInfo,
147 Z_OtherInfo_externallyDefinedInfo,
154 Odr_external *externallyDefinedInfo;
157 } Z_OtherInformationUnit;
159 typedef struct Z_OtherInformation
162 Z_OtherInformationUnit **list;
163 } Z_OtherInformation;
165 typedef struct Z_StringOrNumeric
169 Z_StringOrNumeric_string,
170 Z_StringOrNumeric_numeric
179 typedef struct Z_Unit
181 char *unitSystem; /* OPTIONAL */
182 Z_StringOrNumeric *unitType; /* OPTIONAL */
183 Z_StringOrNumeric *unit; /* OPTIONAL */
184 int *scaleFactor; /* OPTIONAL */
187 typedef struct Z_IntUnit
193 /* ----------------- INIT SERVICE ----------------*/
197 char *groupId; /* OPTIONAL */
198 char *userId; /* OPTIONAL */
199 char *password; /* OPTIONAL */
202 typedef struct Z_IdAuthentication
206 Z_IdAuthentication_open,
207 Z_IdAuthentication_idPass,
208 Z_IdAuthentication_anonymous,
209 Z_IdAuthentication_other
218 } Z_IdAuthentication;
220 #define Z_ProtocolVersion_1 0
221 #define Z_ProtocolVersion_2 1
222 #define Z_ProtocolVersion_3 2
224 #define Z_Options_search 0
225 #define Z_Options_present 1
226 #define Z_Options_delSet 2
227 #define Z_Options_resourceReport 3
228 #define Z_Options_triggerResourceCtrl 4
229 #define Z_Options_resourceCtrl 5
230 #define Z_Options_accessCtrl 6
231 #define Z_Options_scan 7
232 #define Z_Options_sort 8
233 #define Z_Options_reserved 9
234 #define Z_Options_extendedServices 10
235 #define Z_Options_level_1Segmentation 11
236 #define Z_Options_level_2Segmentation 12
237 #define Z_Options_concurrentOperations 13
238 #define Z_Options_namedResultSets 14
240 typedef struct Z_InitRequest
242 Z_ReferenceId *referenceId; /* OPTIONAL */
243 Odr_bitmask *protocolVersion;
244 Odr_bitmask *options;
245 int *preferredMessageSize;
246 int *maximumRecordSize;
247 Z_IdAuthentication* idAuthentication; /* OPTIONAL */
248 char *implementationId; /* OPTIONAL */
249 char *implementationName; /* OPTIONAL */
250 char *implementationVersion; /* OPTIONAL */
251 Odr_external *userInformationField; /* OPTIONAL */
253 Z_OtherInformation *otherInfo; /* OPTIONAL */
257 typedef struct Z_InitResponse
259 Z_ReferenceId *referenceId; /* OPTIONAL */
260 Odr_bitmask *protocolVersion;
261 Odr_bitmask *options;
262 int *preferredMessageSize;
263 int *maximumRecordSize;
265 char *implementationId; /* OPTIONAL */
266 char *implementationName; /* OPTIONAL */
267 char *implementationVersion; /* OPTIONAL */
268 Odr_external *userInformationField; /* OPTIONAL */
270 Z_OtherInformation *otherInfo; /* OPTIONAL */
274 typedef struct Z_NSRAuthentication
279 } Z_NSRAuthentication;
281 int z_NSRAuthentication(ODR o, Z_NSRAuthentication **p, int opt);
283 int z_StrAuthentication(ODR o, char **p, int opt);
285 /* ------------------ SEARCH SERVICE ----------------*/
287 typedef struct Z_DatabaseSpecificUnit
290 char *elementSetName;
291 } Z_DatabaseSpecificUnit;
293 typedef struct Z_DatabaseSpecific
296 Z_DatabaseSpecificUnit **elements;
297 } Z_DatabaseSpecific;
299 typedef struct Z_ElementSetNames
302 #define Z_ElementSetNames_generic 0
303 #define Z_ElementSetNames_databaseSpecific 1
307 Z_DatabaseSpecific *databaseSpecific;
311 /* ---------------------- RPN QUERY --------------------------- */
313 typedef struct Z_ComplexAttribute
316 Z_StringOrNumeric **list;
317 int num_semanticAction;
318 int **semanticAction; /* OPTIONAL */
319 } Z_ComplexAttribute;
321 typedef struct Z_AttributeElement
324 Odr_oid *attributeSet; /* OPTIONAL - v3 only */
330 Z_AttributeValue_numeric,
331 Z_AttributeValue_complex
336 Z_ComplexAttribute *complex;
341 } Z_AttributeElement;
343 typedef struct Z_Term
349 Z_Term_characterString,
353 Z_Term_integerAndUnit,
358 Odr_oct *general; /* this is required for v2 */
360 char *characterString;
363 Odr_external *external;
364 /* Z_IntUnit *integerAndUnit; */
369 typedef struct Z_AttributesPlusTerm
372 Z_AttributeElement **attributeList;
374 } Z_AttributesPlusTerm;
376 typedef struct Z_ResultSetPlusAttributes
380 Z_AttributeElement **attributeList;
381 } Z_ResultSetPlusAttributes;
383 typedef struct Z_ProximityOperator
385 bool_t *exclusion; /* OPTIONAL */
389 #define Z_Prox_lessThan 1
390 #define Z_Prox_lessThanOrEqual 2
391 #define Z_Prox_equal 3
392 #define Z_Prox_greaterThanOrEqual 4
393 #define Z_Prox_greaterThan 5
394 #define Z_Prox_notEqual 6
400 int *proximityUnitCode;
401 #define Z_ProxUnit_character 1
402 #define Z_ProxUnit_word 2
403 #define Z_ProxUnit_sentence 3
404 #define Z_ProxUnit_paragraph 4
405 #define Z_ProxUnit_section 5
406 #define Z_ProxUnit_chapter 6
407 #define Z_ProxUnit_document 7
408 #define Z_ProxUnit_element 8
409 #define Z_ProxUnit_subelement 9
410 #define Z_ProxUnit_elementType 10
411 #define Z_ProxUnit_byte 11 /* v3 only */
412 } Z_ProximityOperator;
414 typedef struct Z_Operator
425 Odr_null *and; /* these guys are nulls. */
428 Z_ProximityOperator *prox;
432 typedef struct Z_Operand
437 Z_Operand_resultSetId,
438 Z_Operand_resultAttr /* v3 only */
442 Z_AttributesPlusTerm *attributesPlusTerm;
443 Z_ResultSetId *resultSetId;
444 Z_ResultSetPlusAttributes *resultAttr;
448 typedef struct Z_Complex
450 struct Z_RPNStructure *s1;
451 struct Z_RPNStructure *s2;
452 Z_Operator *operator;
455 typedef struct Z_RPNStructure
459 Z_RPNStructure_simple,
460 Z_RPNStructure_complex
469 typedef struct Z_RPNQuery
471 Odr_oid *attributeSetId;
472 Z_RPNStructure *RPNStructure;
475 /* -------------------------- SEARCHREQUEST -------------------------- */
477 typedef struct Z_Query
490 Z_RPNQuery *type_101;
494 typedef struct Z_SearchRequest
496 Z_ReferenceId *referenceId; /* OPTIONAL */
497 int *smallSetUpperBound;
498 int *largeSetLowerBound;
499 int *mediumSetPresentNumber;
500 bool_t *replaceIndicator;
502 int num_databaseNames;
503 char **databaseNames;
504 Z_ElementSetNames *smallSetElementSetNames; /* OPTIONAL */
505 Z_ElementSetNames *mediumSetElementSetNames; /* OPTIONAL */
506 Odr_oid *preferredRecordSyntax; /* OPTIONAL */
509 Z_OtherInformation *additionalSearchInfo; /* OPTIONAL */
510 Z_OtherInformation *otherInfo; /* OPTIONAL */
514 /* ------------------------ RECORD -------------------------- */
516 typedef Odr_external Z_DatabaseRecord;
520 typedef struct Z_DefaultDiagFormat
522 Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */
525 } Z_DefaultDiagFormat;
527 typedef struct Z_DiagRec
531 Z_DiagRec_defaultFormat,
532 Z_DiagRec_externallyDefined
536 Z_DefaultDiagFormat *defaultFormat;
537 Odr_external *externallyDefined;
543 typedef struct Z_DiagRec
545 Odr_oid *diagnosticSetId; /* This is opt'l to interwork with bad targets */
552 typedef struct Z_DiagRecList
558 typedef struct Z_NamePlusRecord
560 char *databaseName; /* OPTIONAL */
563 Z_NamePlusRecord_databaseRecord,
564 Z_NamePlusRecord_surrogateDiagnostic,
565 Z_NamePlusRecord_multipleNonSurDiagnostics
570 Z_DatabaseRecord *databaseRecord;
571 Z_DiagRec *surrogateDiagnostic;
572 Z_DiagRecList *multipleNonSurDiagnostics;
576 typedef struct Z_NamePlusRecordList
579 Z_NamePlusRecord **records;
580 } Z_NamePlusRecordList;
582 typedef struct Z_Records
588 Z_Records_multipleNSD
592 Z_NamePlusRecordList *databaseOrSurDiagnostics;
593 Z_DiagRec *nonSurrogateDiagnostic;
594 Z_DiagRecList *multipleNonSurDiagnostics;
598 /* ------------------------ SEARCHRESPONSE ------------------ */
600 typedef struct Z_SearchResponse
602 Z_ReferenceId *referenceId; /* OPTIONAL */
604 int *numberOfRecordsReturned;
605 int *nextResultSetPosition;
606 bool_t *searchStatus;
607 int *resultSetStatus; /* OPTIONAL */
608 #define Z_RES_SUBSET 1
609 #define Z_RES_INTERIM 2
611 int *presentStatus; /* OPTIONAL */
612 #define Z_PRES_SUCCESS 0
613 #define Z_PRES_PARTIAL_1 1
614 #define Z_PRES_PARTIAL_2 2
615 #define Z_PRES_PARTIAL_3 3
616 #define Z_PRES_PARTIAL_4 4
617 #define Z_PRES_FAILURE 5
618 Z_Records *records; /* OPTIONAL */
620 Z_OtherInformation *additionalSearchInfo;
621 Z_OtherInformation *otherInfo;
625 /* ------------------------- PRESENT SERVICE -----------------*/
627 typedef struct Z_ElementSpec
631 Z_ElementSpec_elementSetName,
632 Z_ElementSpec_externalSpec
636 char *elementSetName;
637 Odr_external *externalSpec;
641 typedef struct Z_Specification
643 Odr_oid *schema; /* OPTIONAL */
644 Z_ElementSpec *elementSpec; /* OPTIONAL */
647 typedef struct Z_DbSpecific
650 Z_Specification *spec;
653 typedef struct Z_CompSpec
655 bool_t *selectAlternativeSyntax;
656 Z_Specification *generic; /* OPTIONAL */
658 Z_DbSpecific **dbSpecific; /* OPTIONAL */
659 int num_recordSyntax;
660 Odr_oid **recordSyntax; /* OPTIONAL */
663 typedef struct Z_RecordComposition
672 Z_ElementSetNames *simple;
675 } Z_RecordComposition;
677 typedef struct Z_Range
679 int *startingPosition;
680 int *numberOfRecords;
683 typedef struct Z_PresentRequest
685 Z_ReferenceId *referenceId; /* OPTIONAL */
686 Z_ResultSetId *resultSetId;
687 int *resultSetStartPoint;
688 int *numberOfRecordsRequested;
691 Z_Range **additionalRanges; /* OPTIONAL */
692 Z_RecordComposition *recordComposition; /* OPTIONAL */
694 Z_ElementSetNames *elementSetNames; /* OPTIONAL */
696 Odr_oid *preferredRecordSyntax; /* OPTIONAL */
698 int *maxSegmentCount; /* OPTIONAL */
699 int *maxRecordSize; /* OPTIONAL */
700 int *maxSegmentSize; /* OPTIONAL */
701 Z_OtherInformation *otherInfo; /* OPTIONAL */
705 typedef struct Z_PresentResponse
707 Z_ReferenceId *referenceId; /* OPTIONAL */
708 int *numberOfRecordsReturned;
709 int *nextResultSetPosition;
713 Z_OtherInformation *otherInfo; /* OPTIONAL */
717 /* ------------------ RESOURCE CONTROL ----------------*/
719 typedef struct Z_TriggerResourceControlRequest
721 Z_ReferenceId *referenceId; /* OPTIONAL */
722 int *requestedAction;
723 #define Z_TriggerResourceCtrl_resourceReport 1
724 #define Z_TriggerResourceCtrl_resourceControl 2
725 #define Z_TriggerResourceCtrl_cancel 3
726 Odr_oid *prefResourceReportFormat; /* OPTIONAL */
727 bool_t *resultSetWanted; /* OPTIONAL */
729 Z_OtherInformation *otherInfo;
731 } Z_TriggerResourceControlRequest;
733 typedef struct Z_ResourceControlRequest
735 Z_ReferenceId *referenceId; /* OPTIONAL */
736 bool_t *suspendedFlag; /* OPTIONAL */
737 Odr_external *resourceReport; /* OPTIONAL */
738 int *partialResultsAvailable; /* OPTIONAL */
739 #define Z_ResourceControlRequest_subset 1
740 #define Z_ResourceControlRequest_interim 2
741 #define Z_ResourceControlRequest_none 3
742 bool_t *responseRequired;
743 bool_t *triggeredRequestFlag; /* OPTIONAL */
745 Z_OtherInformation *otherInfo;
747 } Z_ResourceControlRequest;
749 typedef struct Z_ResourceControlResponse
751 Z_ReferenceId *referenceId; /* OPTIONAL */
752 bool_t *continueFlag;
753 bool_t *resultSetWanted; /* OPTIONAL */
755 Z_OtherInformation *otherInfo;
757 } Z_ResourceControlResponse;
760 /* ------------------ ACCESS CTRL SERVICE ----------------*/
762 typedef struct Z_AccessControlRequest
764 Z_ReferenceId *referenceId; /* OPTIONAL */
767 Z_AccessRequest_simpleForm,
768 Z_AccessRequest_externallyDefined
773 Odr_external *externallyDefined;
776 Z_OtherInformation *otherInfo; /* OPTIONAL */
778 } Z_AccessControlRequest;
780 typedef struct Z_AccessControlResponse
782 Z_ReferenceId *referenceId; /* OPTIONAL */
785 Z_AccessResponse_simpleForm,
786 Z_AccessResponse_externallyDefined
791 Odr_external *externallyDefined;
793 Z_DiagRec *diagnostic; /* OPTIONAL */
795 Z_OtherInformation *otherInfo; /* OPTIONAL */
797 } Z_AccessControlResponse;
799 /* ------------------------ SCAN SERVICE -------------------- */
801 typedef struct Z_AttributeList
804 Z_AttributeElement **attributes;
807 typedef struct Z_AlternativeTerm
810 Z_AttributesPlusTerm **terms;
813 typedef struct Z_OccurrenceByAttributes
815 Z_AttributeList *attributes;
827 /* Z_ByDatabase *byDatabase; */
830 } Z_OccurrenceByAttributes;
832 typedef struct Z_TermInfo
835 Z_AttributeList *suggestedAttributes; /* OPTIONAL */
836 Z_AlternativeTerm *alternativeTerm; /* OPTIONAL */
837 int *globalOccurrences; /* OPTIONAL */
838 Z_OccurrenceByAttributes *byAttributes; /* OPTIONAL */
841 typedef struct Z_Entry
846 Z_Entry_surrogateDiagnostic
850 Z_TermInfo *termInfo;
851 Z_DiagRec *surrogateDiagnostic;
855 typedef struct Z_Entries
861 typedef struct Z_DiagRecs
864 Z_DiagRec **diagRecs;
867 typedef struct Z_ListEntries
871 Z_ListEntries_entries,
872 Z_ListEntries_nonSurrogateDiagnostics
877 Z_DiagRecs *nonSurrogateDiagnostics;
881 typedef struct Z_ScanRequest
883 Z_ReferenceId *referenceId; /* OPTIONAL */
884 int num_databaseNames;
885 char **databaseNames;
886 Odr_oid *attributeSet; /* OPTIONAL */
887 Z_AttributesPlusTerm *termListAndStartPoint;
888 int *stepSize; /* OPTIONAL */
889 int *numberOfTermsRequested;
890 int *preferredPositionInResponse; /* OPTIONAL */
892 Z_OtherInformation *otherInfo;
896 typedef struct Z_ScanResponse
898 Z_ReferenceId *referenceId; /* OPTIONAL */
899 int *stepSize; /* OPTIONAL */
901 #define Z_Scan_success 0
902 #define Z_Scan_partial_1 1
903 #define Z_Scan_partial_2 2
904 #define Z_Scan_partial_3 3
905 #define Z_Scan_partial_4 4
906 #define Z_Scan_partial_5 5
907 #define Z_Scan_failure 6
908 int *numberOfEntriesReturned;
909 int *positionOfTerm; /* OPTIONAL */
910 Z_ListEntries *entries; /* OPTIONAL */
911 Odr_oid *attributeSet; /* OPTIONAL */
913 Z_OtherInformation *otherInfo;
918 /* ------------------------ DELETE -------------------------- */
920 #define Z_DeleteStatus_success 0
921 #define Z_DeleteStatus_resultSetDidNotExist 1
922 #define Z_DeleteStatus_previouslyDeletedByTarget 2
923 #define Z_DeleteStatus_systemProblemAtTarget 3
924 #define Z_DeleteStatus_accessNotAllowed 4
925 #define Z_DeleteStatus_resourceControlAtOrigin 5
926 #define Z_DeleteStatus_resourceControlAtTarget 6
927 #define Z_DeleteStatus_bulkDeleteNotSupported 7
928 #define Z_DeleteStatus_notAllRsltSetsDeletedOnBulkDlte 8
929 #define Z_DeleteStatus_notAllRequestedResultSetsDeleted 9
930 #define Z_DeleteStatus_resultSetInUse 10
932 typedef struct Z_ListStatus
938 typedef struct Z_DeleteResultSetRequest
940 Z_ReferenceId *referenceId; /* OPTIONAL */
942 #define Z_DeleteRequest_list 0
943 #define Z_DeleteRequest_all 1
945 Z_ResultSetId **resultSetList; /* OPTIONAL */
947 Z_OtherInformation *otherInfo;
949 } Z_DeleteResultSetRequest;
951 typedef struct Z_DeleteResultSetResponse
953 Z_ReferenceId *referenceId; /* OPTIONAL */
954 int *deleteOperationStatus;
956 Z_ListStatus *deleteListStatuses; /* OPTIONAL */
957 int *numberNotDeleted; /* OPTIONAL */
958 int num_bulkStatuses;
959 Z_ListStatus *bulkStatuses; /* OPTIONAL */
960 char *deleteMessage; /* OPTIONAL */
962 Z_OtherInformation *otherInfo;
964 } Z_DeleteResultSetResponse;
966 /* ------------------------ CLOSE SERVICE ------------------- */
968 typedef struct Z_Close
970 Z_ReferenceId *referenceId; /* OPTIONAL */
972 #define Z_Close_finished 0
973 #define Z_Close_shutdown 1
974 #define Z_Close_systemProblem 2
975 #define Z_Close_costLimit 3
976 #define Z_Close_resources 4
977 #define Z_Close_securityViolation 5
978 #define Z_Close_protocolError 6
979 #define Z_Close_lackOfActivity 7
980 #define Z_Close_peerAbort 8
981 #define Z_Close_unspecified 9
982 char *diagnosticInformation; /* OPTIONAL */
983 Odr_oid *resourceReportFormat; /* OPTIONAL */
984 Odr_external *resourceReport; /* OPTIONAL */
986 Z_OtherInformation *otherInfo; /* OPTIONAL */
990 /* ------------------------ SEGMENTATION -------------------- */
992 typedef struct Z_Segment
994 Z_ReferenceId *referenceId; /* OPTIONAL */
995 int *numberOfRecordsReturned;
996 int num_segmentRecords;
997 Z_NamePlusRecord **segmentRecords;
998 Z_OtherInformation *otherInfo; /* OPTIONAL */
1002 /* ------------------------ APDU ---------------------------- */
1004 typedef struct Z_APDU
1009 Z_APDU_initResponse,
1010 Z_APDU_searchRequest,
1011 Z_APDU_searchResponse,
1012 Z_APDU_presentRequest,
1013 Z_APDU_presentResponse,
1014 Z_APDU_deleteResultSetRequest,
1015 Z_APDU_deleteResultSetResponse,
1016 Z_APDU_resourceControlRequest,
1017 Z_APDU_resourceControlResponse,
1018 Z_APDU_triggerResourceControlRequest,
1020 Z_APDU_scanResponse,
1021 Z_APDU_segmentRequest,
1026 Z_InitRequest *initRequest;
1027 Z_InitResponse *initResponse;
1028 Z_SearchRequest *searchRequest;
1029 Z_SearchResponse *searchResponse;
1030 Z_PresentRequest *presentRequest;
1031 Z_PresentResponse *presentResponse;
1032 Z_DeleteResultSetRequest *deleteResultSetRequest;
1033 Z_DeleteResultSetResponse *deleteResultSetResponse;
1034 Z_ResourceControlRequest *resourceControlRequest;
1035 Z_ResourceControlResponse *resourceControlResponse;
1036 Z_TriggerResourceControlRequest *triggerResourceControlRequest;
1037 Z_ScanRequest *scanRequest;
1038 Z_ScanResponse *scanResponse;
1039 Z_Segment *segmentRequest;
1044 int z_APDU(ODR o, Z_APDU **p, int opt);
1046 Z_InitRequest *zget_InitRequest(ODR o);
1047 Z_InitResponse *zget_InitResponse(ODR o);
1048 Z_SearchRequest *zget_SearchRequest(ODR o);
1049 Z_SearchResponse *zget_SearchResponse(ODR o);
1050 Z_PresentRequest *zget_PresentRequest(ODR o);
1051 Z_PresentResponse *zget_PresentResponse(ODR o);
1052 Z_DeleteResultSetRequest *zget_DeleteResultSetRequest(ODR o);
1053 Z_DeleteResultSetResponse *zget_DeleteResultSetResponse(ODR o);
1054 Z_ScanRequest *zget_ScanRequest(ODR o);
1055 Z_ScanResponse *zget_ScanResponse(ODR o);
1056 Z_TriggerResourceControlRequest *zget_TriggerResourceControlRequest(ODR o);
1057 Z_ResourceControlRequest *zget_ResourceControlRequest(ODR o);
1058 Z_ResourceControlResponse *zget_ResourceControlResponse(ODR o);
1059 Z_Close *zget_Close(ODR o);
1060 Z_APDU *zget_APDU(ODR o, enum Z_APDU_which which);
1062 #include <prt-rsc.h>
1063 #include <prt-acc.h>