📄 z-core.c
字号:
/* Generated automatically by the YAZ ASN.1 Compiler 0.3 *//* Module-C: Z39-50-APDU-1995 */#include <yaz/z-core.h>int z_APDU (ODR o, Z_APDU **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_IMPLICIT, ODR_CONTEXT, 20, Z_APDU_initRequest, (Odr_fun) z_InitRequest, "initRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 21, Z_APDU_initResponse, (Odr_fun) z_InitResponse, "initResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 22, Z_APDU_searchRequest, (Odr_fun) z_SearchRequest, "searchRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 23, Z_APDU_searchResponse, (Odr_fun) z_SearchResponse, "searchResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 24, Z_APDU_presentRequest, (Odr_fun) z_PresentRequest, "presentRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 25, Z_APDU_presentResponse, (Odr_fun) z_PresentResponse, "presentResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 26, Z_APDU_deleteResultSetRequest, (Odr_fun) z_DeleteResultSetRequest, "deleteResultSetRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 27, Z_APDU_deleteResultSetResponse, (Odr_fun) z_DeleteResultSetResponse, "deleteResultSetResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 28, Z_APDU_accessControlRequest, (Odr_fun) z_AccessControlRequest, "accessControlRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 29, Z_APDU_accessControlResponse, (Odr_fun) z_AccessControlResponse, "accessControlResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 30, Z_APDU_resourceControlRequest, (Odr_fun) z_ResourceControlRequest, "resourceControlRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 31, Z_APDU_resourceControlResponse, (Odr_fun) z_ResourceControlResponse, "resourceControlResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 32, Z_APDU_triggerResourceControlRequest, (Odr_fun) z_TriggerResourceControlRequest, "triggerResourceControlRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 33, Z_APDU_resourceReportRequest, (Odr_fun) z_ResourceReportRequest, "resourceReportRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 34, Z_APDU_resourceReportResponse, (Odr_fun) z_ResourceReportResponse, "resourceReportResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 35, Z_APDU_scanRequest, (Odr_fun) z_ScanRequest, "scanRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 36, Z_APDU_scanResponse, (Odr_fun) z_ScanResponse, "scanResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 43, Z_APDU_sortRequest, (Odr_fun) z_SortRequest, "sortRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 44, Z_APDU_sortResponse, (Odr_fun) z_SortResponse, "sortResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 45, Z_APDU_segmentRequest, (Odr_fun) z_Segment, "segmentRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 46, Z_APDU_extendedServicesRequest, (Odr_fun) z_ExtendedServicesRequest, "extendedServicesRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 47, Z_APDU_extendedServicesResponse, (Odr_fun) z_ExtendedServicesResponse, "extendedServicesResponse"}, {ODR_IMPLICIT, ODR_CONTEXT, 48, Z_APDU_close, (Odr_fun) z_Close, "close"}, {ODR_IMPLICIT, ODR_CONTEXT, 49, Z_APDU_duplicateDetectionRequest, (Odr_fun) z_DuplicateDetectionRequest, "duplicateDetectionRequest"}, {ODR_IMPLICIT, ODR_CONTEXT, 50, Z_APDU_duplicateDetectionResponse, (Odr_fun) z_DuplicateDetectionResponse, "duplicateDetectionResponse"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_InitRequest (ODR o, Z_InitRequest **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") && z_ProtocolVersion(o, &(*p)->protocolVersion, 0, "protocolVersion") && z_Options(o, &(*p)->options, 0, "options") && odr_implicit_tag (o, odr_integer, &(*p)->preferredMessageSize, ODR_CONTEXT, 5, 0, "preferredMessageSize") && odr_implicit_tag (o, odr_integer, &(*p)->maximumRecordSize, ODR_CONTEXT, 6, 0, "maximumRecordSize") && odr_explicit_tag (o, z_IdAuthentication, &(*p)->idAuthentication, ODR_CONTEXT, 7, 1, "idAuthentication") && odr_implicit_tag (o, z_InternationalString, &(*p)->implementationId, ODR_CONTEXT, 110, 1, "implementationId") && odr_implicit_tag (o, z_InternationalString, &(*p)->implementationName, ODR_CONTEXT, 111, 1, "implementationName") && odr_implicit_tag (o, z_InternationalString, &(*p)->implementationVersion, ODR_CONTEXT, 112, 1, "implementationVersion") && odr_explicit_tag (o, z_External, &(*p)->userInformationField, ODR_CONTEXT, 11, 1, "userInformationField") && z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") && odr_sequence_end (o);}int z_IdPass (ODR o, Z_IdPass **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return odr_implicit_tag (o, z_InternationalString, &(*p)->groupId, ODR_CONTEXT, 0, 1, "groupId") && odr_implicit_tag (o, z_InternationalString, &(*p)->userId, ODR_CONTEXT, 1, 1, "userId") && odr_implicit_tag (o, z_InternationalString, &(*p)->password, ODR_CONTEXT, 2, 1, "password") && odr_sequence_end (o);}int z_IdAuthentication (ODR o, Z_IdAuthentication **p, int opt, const char *name){ static Odr_arm arm[] = { {-1, -1, -1, Z_IdAuthentication_open, (Odr_fun) odr_visiblestring, "open"}, {-1, -1, -1, Z_IdAuthentication_idPass, (Odr_fun) z_IdPass, "idPass"}, {-1, -1, -1, Z_IdAuthentication_anonymous, (Odr_fun) odr_null, "anonymous"}, {-1, -1, -1, Z_IdAuthentication_other, (Odr_fun) z_External, "other"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_InitResponse (ODR o, Z_InitResponse **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") && z_ProtocolVersion(o, &(*p)->protocolVersion, 0, "protocolVersion") && z_Options(o, &(*p)->options, 0, "options") && odr_implicit_tag (o, odr_integer, &(*p)->preferredMessageSize, ODR_CONTEXT, 5, 0, "preferredMessageSize") && odr_implicit_tag (o, odr_integer, &(*p)->maximumRecordSize, ODR_CONTEXT, 6, 0, "maximumRecordSize") && odr_implicit_tag (o, odr_bool, &(*p)->result, ODR_CONTEXT, 12, 0, "result") && odr_implicit_tag (o, z_InternationalString, &(*p)->implementationId, ODR_CONTEXT, 110, 1, "implementationId") && odr_implicit_tag (o, z_InternationalString, &(*p)->implementationName, ODR_CONTEXT, 111, 1, "implementationName") && odr_implicit_tag (o, z_InternationalString, &(*p)->implementationVersion, ODR_CONTEXT, 112, 1, "implementationVersion") && odr_explicit_tag (o, z_External, &(*p)->userInformationField, ODR_CONTEXT, 11, 1, "userInformationField") && z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") && odr_sequence_end (o);}int z_ProtocolVersion (ODR o, Z_ProtocolVersion **p, int opt, const char *name){ return odr_implicit_tag (o, odr_bitstring, p, ODR_CONTEXT, 3, opt, name);}int z_Options (ODR o, Z_Options **p, int opt, const char *name){ return odr_implicit_tag (o, odr_bitstring, p, ODR_CONTEXT, 4, opt, name);}int z_SearchRequest (ODR o, Z_SearchRequest **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return z_ReferenceId(o, &(*p)->referenceId, 1, "referenceId") && odr_implicit_tag (o, odr_integer, &(*p)->smallSetUpperBound, ODR_CONTEXT, 13, 0, "smallSetUpperBound") && odr_implicit_tag (o, odr_integer, &(*p)->largeSetLowerBound, ODR_CONTEXT, 14, 0, "largeSetLowerBound") && odr_implicit_tag (o, odr_integer, &(*p)->mediumSetPresentNumber, ODR_CONTEXT, 15, 0, "mediumSetPresentNumber") && odr_implicit_tag (o, odr_bool, &(*p)->replaceIndicator, ODR_CONTEXT, 16, 0, "replaceIndicator") && odr_implicit_tag (o, z_InternationalString, &(*p)->resultSetName, ODR_CONTEXT, 17, 0, "resultSetName") && odr_implicit_settag (o, ODR_CONTEXT, 18) && odr_sequence_of(o, (Odr_fun) z_DatabaseName, &(*p)->databaseNames, &(*p)->num_databaseNames, "databaseNames") && odr_explicit_tag (o, z_ElementSetNames, &(*p)->smallSetElementSetNames, ODR_CONTEXT, 100, 1, "smallSetElementSetNames") && odr_explicit_tag (o, z_ElementSetNames, &(*p)->mediumSetElementSetNames, ODR_CONTEXT, 101, 1, "mediumSetElementSetNames") && odr_implicit_tag (o, odr_oid, &(*p)->preferredRecordSyntax, ODR_CONTEXT, 104, 1, "preferredRecordSyntax") && odr_explicit_tag (o, z_Query, &(*p)->query, ODR_CONTEXT, 21, 0, "query") && odr_implicit_tag (o, z_OtherInformation, &(*p)->additionalSearchInfo, ODR_CONTEXT, 203, 1, "additionalSearchInfo") && z_OtherInformation(o, &(*p)->otherInfo, 1, "otherInfo") && odr_sequence_end (o);}int z_Query (ODR o, Z_Query **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_Query_type_0, (Odr_fun) z_ANY_type_0, "type_0"}, {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Query_type_1, (Odr_fun) z_RPNQuery, "type_1"}, {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_Query_type_2, (Odr_fun) odr_octetstring, "type_2"}, {ODR_EXPLICIT, ODR_CONTEXT, 100, Z_Query_type_100, (Odr_fun) odr_octetstring, "type_100"}, {ODR_IMPLICIT, ODR_CONTEXT, 101, Z_Query_type_101, (Odr_fun) z_RPNQuery, "type_101"}, {ODR_EXPLICIT, ODR_CONTEXT, 102, Z_Query_type_102, (Odr_fun) odr_octetstring, "type_102"}, {ODR_IMPLICIT, ODR_CONTEXT, 104, Z_Query_type_104, (Odr_fun) z_External, "type_104"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_RPNQuery (ODR o, Z_RPNQuery **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return z_AttributeSetId(o, &(*p)->attributeSetId, 0, "attributeSetId") && z_RPNStructure(o, &(*p)->RPNStructure, 0, "RPNStructure") && odr_sequence_end (o);}int z_Complex (ODR o, Z_Complex **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return z_RPNStructure(o, &(*p)->s1, 0, "s1") && z_RPNStructure(o, &(*p)->s2, 0, "s2") && z_Operator(o, &(*p)->roperator, 0, "roperator") && odr_sequence_end (o);}int z_RPNStructure (ODR o, Z_RPNStructure **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_RPNStructure_simple, (Odr_fun) z_Operand, "simple"}, {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_RPNStructure_complex, (Odr_fun) z_Complex, "complex"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_Operand (ODR o, Z_Operand **p, int opt, const char *name){ static Odr_arm arm[] = { {-1, -1, -1, Z_Operand_APT, (Odr_fun) z_AttributesPlusTerm, "attributesPlusTerm"}, {-1, -1, -1, Z_Operand_resultSetId, (Odr_fun) z_ResultSetId, "resultSetId"}, {-1, -1, -1, Z_Operand_resultAttr, (Odr_fun) z_ResultSetPlusAttributes, "resultAttr"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_AttributesPlusTerm (ODR o, Z_AttributesPlusTerm **p, int opt, const char *name){ if (!odr_implicit_settag (o, ODR_CONTEXT, 102) || !odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name); return z_AttributeList(o, &(*p)->attributes, 0, "attributes") && z_Term(o, &(*p)->term, 0, "term") && odr_sequence_end (o);}int z_ResultSetPlusAttributes (ODR o, Z_ResultSetPlusAttributes **p, int opt, const char *name){ if (!odr_implicit_settag (o, ODR_CONTEXT, 214) || !odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name); return z_ResultSetId(o, &(*p)->resultSet, 0, "resultSet") && z_AttributeList(o, &(*p)->attributes, 0, "attributes") && odr_sequence_end (o);}int z_AttributeList (ODR o, Z_AttributeList **p, int opt, const char *name){ if (!odr_initmember (o, p, sizeof(**p))) return odr_missing(o, opt, name); odr_implicit_settag (o, ODR_CONTEXT, 44); if (odr_sequence_of (o, (Odr_fun) z_AttributeElement, &(*p)->attributes, &(*p)->num_attributes, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_Term (ODR o, Z_Term **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_IMPLICIT, ODR_CONTEXT, 45, Z_Term_general, (Odr_fun) odr_octetstring, "general"}, {ODR_IMPLICIT, ODR_CONTEXT, 215, Z_Term_numeric, (Odr_fun) odr_integer, "numeric"}, {ODR_IMPLICIT, ODR_CONTEXT, 216, Z_Term_characterString, (Odr_fun) z_InternationalString, "characterString"}, {ODR_IMPLICIT, ODR_CONTEXT, 217, Z_Term_oid, (Odr_fun) odr_oid, "oid"}, {ODR_IMPLICIT, ODR_CONTEXT, 218, Z_Term_dateTime, (Odr_fun) odr_generalizedtime, "dateTime"}, {ODR_IMPLICIT, ODR_CONTEXT, 219, Z_Term_external, (Odr_fun) z_External, "external"}, {ODR_IMPLICIT, ODR_CONTEXT, 220, Z_Term_integerAndUnit, (Odr_fun) z_IntUnit, "integerAndUnit"}, {ODR_IMPLICIT, ODR_CONTEXT, 221, Z_Term_null, (Odr_fun) odr_null, "null"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_Operator (ODR o, Z_Operator **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Operator_and, (Odr_fun) odr_null, "op_and"}, {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Operator_or, (Odr_fun) odr_null, "op_or"}, {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Operator_and_not, (Odr_fun) odr_null, "and_not"}, {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Operator_prox, (Odr_fun) z_ProximityOperator, "prox"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!*p && o->direction != ODR_DECODE) return opt; if (!odr_constructed_begin(o, p, ODR_CONTEXT, 46, 0)) return odr_missing(o, opt, name); if (!odr_initmember(o, p, sizeof(**p))) return odr_missing(o, opt, name); if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name) && odr_constructed_end(o)) return 1; *p = 0; return odr_missing(o, opt, name);}int z_ComplexAttribute (ODR o, Z_ComplexAttribute **p, int opt, const char *name){ if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return odr_implicit_settag (o, ODR_CONTEXT, 1) && odr_sequence_of(o, (Odr_fun) z_StringOrNumeric, &(*p)->list, &(*p)->num_list, "list") && odr_implicit_settag (o, ODR_CONTEXT, 2) && (odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->semanticAction, &(*p)->num_semanticAction, "semanticAction") || odr_ok(o)) && odr_sequence_end (o);}int z_AttributeElement (ODR o, Z_AttributeElement **p, int opt, const char *name){ static Odr_arm arm[] = { {ODR_IMPLICIT, ODR_CONTEXT, 121, Z_AttributeValue_numeric, (Odr_fun) odr_integer, "numeric"}, {ODR_IMPLICIT, ODR_CONTEXT, 224, Z_AttributeValue_complex, (Odr_fun) z_ComplexAttribute, "complex"}, {-1, -1, -1, -1, (Odr_fun) 0, 0} }; if (!odr_sequence_begin (o, p, sizeof(**p), name)) return odr_missing(o, opt, name) && odr_ok (o); return odr_implicit_tag (o, z_AttributeSetId, &(*p)->attributeSet, ODR_CONTEXT, 1, 1, "attributeSet") &&
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -