⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 z-core.c

📁 harvest是一个下载html网页得机器人
💻 C
📖 第 1 页 / 共 4 页
字号:
/* 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 + -