Example #1
0
int z_Scan(ODR o, Z_Scan **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Scan_nonZeroStepSize,
		(Odr_fun) odr_null, "nonZeroStepSize"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Scan_specifiedStepSize,
		(Odr_fun) odr_null, "specifiedStepSize"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Scan_termList1,
		(Odr_fun) odr_null, "termList1"},
		{ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Scan_termList2,
		(Odr_fun) z_AttrListList, "termList2"},
		{ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Scan_posInResponse,
		(Odr_fun) odr_integer, "posInResponse"},
		{ODR_IMPLICIT, ODR_CONTEXT, 6, Z_Scan_resources,
		(Odr_fun) odr_null, "resources"},
		{ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Scan_endOfList,
		(Odr_fun) odr_null, "endOfList"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #2
0
int z_AccessCtrl(ODR o, Z_AccessCtrl **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_AccessCtrl_noUser,
		(Odr_fun) odr_null, "noUser"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_AccessCtrl_refused,
		(Odr_fun) odr_null, "refused"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_AccessCtrl_simple,
		(Odr_fun) odr_null, "simple"},
		{ODR_IMPLICIT, ODR_CONTEXT, 4, Z_AccessCtrl_oid,
		(Odr_fun) z_OidList, "oid"},
		{ODR_IMPLICIT, ODR_CONTEXT, 5, Z_AccessCtrl_alternative,
		(Odr_fun) z_AltOidList, "alternative"},
		{ODR_IMPLICIT, ODR_CONTEXT, 6, Z_AccessCtrl_pwdInv,
		(Odr_fun) odr_null, "pwdInv"},
		{ODR_IMPLICIT, ODR_CONTEXT, 7, Z_AccessCtrl_pwdExp,
		(Odr_fun) odr_null, "pwdExp"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #3
0
int z_PQSOriginPartToKeep (ODR o, Z_PQSOriginPartToKeep **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PQSOriginPartToKeep_packageName,
		(Odr_fun) z_InternationalString, "packageName"},
		{ODR_EXPLICIT, ODR_CONTEXT, 2, Z_PQSOriginPartToKeep_exportPackage,
		(Odr_fun) z_ESExportSpecification, "exportPackage"},
		{-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, odr_bool,
			&(*p)->activeFlag, ODR_CONTEXT, 1, 0, "activeFlag") &&
		odr_implicit_settag (o, ODR_CONTEXT, 2) &&
		(odr_sequence_of(o, (Odr_fun) z_InternationalString, &(*p)->databaseNames,
		  &(*p)->num_databaseNames, "databaseNames") || odr_ok(o)) &&
		odr_implicit_tag (o, odr_integer,
			&(*p)->resultSetDisposition, ODR_CONTEXT, 3, 1, "resultSetDisposition") &&
		odr_explicit_tag (o, z_ESDestination,
			&(*p)->alertDestination, ODR_CONTEXT, 4, 1, "alertDestination") &&
		((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 5, "exportParameters") &&
		odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end (o)) || odr_ok(o)) &&
		odr_sequence_end (o);
}
Example #4
0
int z_IU0SuppliedRecords_elem(ODR o, Z_IU0SuppliedRecords_elem **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_IU0SuppliedRecords_elem_number,
		(Odr_fun) odr_integer, "number"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_IU0SuppliedRecords_elem_string,
		(Odr_fun) z_InternationalString, "string"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_IU0SuppliedRecords_elem_opaque,
		(Odr_fun) odr_octetstring, "opaque"},
		{-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_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "recordId") &&
		odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end(o)) || odr_ok(o)) &&
		odr_explicit_tag(o, z_IU0SuppliedRecordsId,
			&(*p)->supplementalId, ODR_CONTEXT, 2, 1, "supplementalId") &&
		odr_implicit_tag(o, z_IU0CorrelationInfo,
			&(*p)->correlationInfo, ODR_CONTEXT, 3, 1, "correlationInfo") &&
		odr_implicit_tag(o, z_External,
			&(*p)->record, ODR_CONTEXT, 4, 0, "record") &&
		odr_sequence_end(o);
}
Example #5
0
int odr_external(ODR o, Odr_external **p, int opt, const char *name)
{
    Odr_external *pp;
    static Odr_arm arm[] =
    {
        {   ODR_EXPLICIT, ODR_CONTEXT, 0, ODR_EXTERNAL_single,
            (Odr_fun)odr_any, "single"
        },
        {   ODR_IMPLICIT, ODR_CONTEXT, 1, ODR_EXTERNAL_octet,
            (Odr_fun)odr_octetstring, "octet"
        },
        {   ODR_IMPLICIT, ODR_CONTEXT, 2, ODR_EXTERNAL_arbitrary,
            (Odr_fun)odr_bitstring, "arbitrary"
        },
        {-1, -1, -1, -1, 0, 0}
    };

    odr_implicit_settag(o, ODR_UNIVERSAL, ODR_EXTERNAL);
    if (!odr_sequence_begin(o, p, sizeof(Odr_external), name))
        return odr_missing(o, opt, name);
    pp = *p;
    return
        odr_oid(o, &pp->direct_reference, 1, "direct") &&
        odr_integer(o, &pp->indirect_reference, 1, "indirect") &&
        odr_graphicstring(o, &pp->descriptor, 1, "descriptor") &&
        odr_choice(o, arm, &pp->u, &pp->which, 0) &&
        odr_sequence_end(o);
}
Example #6
0
int z_Proximity(ODR o, Z_Proximity **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Proximity_resultSets,
		(Odr_fun) odr_null, "resultSets"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Proximity_badSet,
		(Odr_fun) z_InternationalString, "badSet"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_Proximity_relation,
		(Odr_fun) odr_integer, "relation"},
		{ODR_IMPLICIT, ODR_CONTEXT, 4, Z_Proximity_unit,
		(Odr_fun) odr_integer, "unit"},
		{ODR_IMPLICIT, ODR_CONTEXT, 5, Z_Proximity_distance,
		(Odr_fun) odr_integer, "distance"},
		{ODR_EXPLICIT, ODR_CONTEXT, 6, Z_Proximity_attributes,
		(Odr_fun) z_AttributeList, "attributes"},
		{ODR_IMPLICIT, ODR_CONTEXT, 7, Z_Proximity_ordered,
		(Odr_fun) odr_null, "ordered"},
		{ODR_IMPLICIT, ODR_CONTEXT, 8, Z_Proximity_exclusion,
		(Odr_fun) odr_null, "exclusion"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #7
0
int z_UniverseReport(ODR o, Z_UniverseReport **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 0, Z_UniverseReport_databaseHits,
		(Odr_fun) z_UniverseReportHits, "databaseHits"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_UniverseReport_duplicate,
		(Odr_fun) z_UniverseReportDuplicate, "duplicate"},
		{-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_integer(o, &(*p)->totalHits, 0, "totalHits") &&
		odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_sequence_end(o);
}
Example #8
0
int z_EIExportInvocation(ODR o, Z_EIExportInvocation **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_EIExportInvocation_esRequest,
		(Odr_fun) z_EIExportInvocationEsRequest, "esRequest"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_EIExportInvocation_taskPackage,
		(Odr_fun) z_EIExportInvocationTaskPackage, "taskPackage"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #9
0
int z_KRBObject(ODR o, Z_KRBObject **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_KRBObject_challenge,
		(Odr_fun) z_KRBRequest, "challenge"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_KRBObject_response,
		(Odr_fun) z_KRBResponse, "response"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #10
0
int z_Segmentation(ODR o, Z_Segmentation **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 0, Z_Segmentation_segmentCount,
		(Odr_fun) odr_null, "segmentCount"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Segmentation_segmentSize,
		(Odr_fun) odr_integer, "segmentSize"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #11
0
int z_EIOriginPartNotToKeep(ODR o, Z_EIOriginPartNotToKeep **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_EIOriginPartNotToKeep_all,
		(Odr_fun) odr_null, "all"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_EIOriginPartNotToKeep_ranges,
		(Odr_fun) z_EIOriginPartNotToKeepRanges, "ranges"},
		{-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_InternationalString,
			&(*p)->resultSetId, ODR_CONTEXT, 1, 0, "resultSetId") &&
		odr_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 2, "records") &&
		odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end(o) &&
		odr_sequence_end(o);
}
Example #12
0
int z_EIOriginPartToKeep(ODR o, Z_EIOriginPartToKeep **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_EIOriginPartToKeep_packageName,
		(Odr_fun) z_InternationalString, "packageName"},
		{ODR_EXPLICIT, ODR_CONTEXT, 2, Z_EIOriginPartToKeep_packageSpec,
		(Odr_fun) z_ESExportSpecification, "packageSpec"},
		{-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_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "exportSpec") &&
		odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end(o) &&
		odr_implicit_tag(o, odr_integer,
			&(*p)->numberOfCopies, ODR_CONTEXT, 2, 0, "numberOfCopies") &&
		odr_sequence_end(o);
}
Example #13
0
int z_ExtServices(ODR o, Z_ExtServices **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ExtServices_req,
		(Odr_fun) odr_integer, "req"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ExtServices_permission,
		(Odr_fun) odr_integer, "permission"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_ExtServices_immediate,
		(Odr_fun) odr_integer, "immediate"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #14
0
int z_IU0SuppliedRecordsId(ODR o, Z_IU0SuppliedRecordsId **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_IU0SuppliedRecordsId_timeStamp,
		(Odr_fun) odr_generalizedtime, "timeStamp"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_IU0SuppliedRecordsId_versionNumber,
		(Odr_fun) z_InternationalString, "versionNumber"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_IU0SuppliedRecordsId_previousVersion,
		(Odr_fun) z_External, "previousVersion"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #15
0
int z_DiagnosticFormat_s(ODR o, Z_DiagnosticFormat_s **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_DiagnosticFormat_s_defaultDiagRec,
		(Odr_fun) z_DefaultDiagFormat, "defaultDiagRec"},
		{ODR_EXPLICIT, ODR_CONTEXT, 2, Z_DiagnosticFormat_s_explicitDiagnostic,
		(Odr_fun) z_DiagFormat, "explicitDiagnostic"},
		{-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_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "diagnostic") &&
		odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end(o)) || odr_ok(o)) &&
		odr_implicit_tag(o, z_InternationalString,
			&(*p)->message, ODR_CONTEXT, 2, 1, "message") &&
		odr_sequence_end(o);
}
Example #16
0
int z_DiagFormat(ODR o, Z_DiagFormat **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1000, Z_DiagFormat_tooMany,
		(Odr_fun) z_TooMany, "tooMany"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1001, Z_DiagFormat_badSpec,
		(Odr_fun) z_BadSpec, "badSpec"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1002, Z_DiagFormat_dbUnavail,
		(Odr_fun) z_DbUnavail, "dbUnavail"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1003, Z_DiagFormat_unSupOp,
		(Odr_fun) odr_integer, "unSupOp"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1004, Z_DiagFormat_attribute,
		(Odr_fun) z_Attribute, "attribute"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1005, Z_DiagFormat_attCombo,
		(Odr_fun) z_AttCombo, "attCombo"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1006, Z_DiagFormat_term,
		(Odr_fun) z_DiagTerm, "term"},
		{ODR_EXPLICIT, ODR_CONTEXT, 1007, Z_DiagFormat_proximity,
		(Odr_fun) z_Proximity, "proximity"},
		{ODR_EXPLICIT, ODR_CONTEXT, 1008, Z_DiagFormat_scan,
		(Odr_fun) z_Scan, "scan"},
		{ODR_EXPLICIT, ODR_CONTEXT, 1009, Z_DiagFormat_sort,
		(Odr_fun) z_Sort, "sort"},
		{ODR_EXPLICIT, ODR_CONTEXT, 1010, Z_DiagFormat_segmentation,
		(Odr_fun) z_Segmentation, "segmentation"},
		{ODR_EXPLICIT, ODR_CONTEXT, 1011, Z_DiagFormat_extServices,
		(Odr_fun) z_ExtServices, "extServices"},
		{ODR_EXPLICIT, ODR_CONTEXT, 1012, Z_DiagFormat_accessCtrl,
		(Odr_fun) z_AccessCtrl, "accessCtrl"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1013, Z_DiagFormat_recordSyntax,
		(Odr_fun) z_RecordSyntax, "recordSyntax"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #17
0
int z_IU0TaskPackageRecordStructure(ODR o, Z_IU0TaskPackageRecordStructure **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_IU0TaskPackageRecordStructure_record,
		(Odr_fun) z_External, "record"},
		{ODR_EXPLICIT, ODR_CONTEXT, 2, Z_IU0TaskPackageRecordStructure_diagnostic,
		(Odr_fun) z_DiagRec, "diagnostic"},
		{-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_constructed_begin(o, &(*p)->u, ODR_CONTEXT, 1, "recordOrSurDiag") &&
		odr_choice(o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end(o)) || odr_ok(o)) &&
		odr_implicit_tag(o, z_IU0CorrelationInfo,
			&(*p)->correlationInfo, ODR_CONTEXT, 2, 1, "correlationInfo") &&
		odr_implicit_tag(o, odr_integer,
			&(*p)->recordStatus, ODR_CONTEXT, 3, 0, "recordStatus") &&
		odr_sequence_end(o);
}
Example #18
0
int z_PQSPeriod (ODR o, Z_PQSPeriod **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PQSPeriod_unit,
		(Odr_fun) z_IntUnit, "unit"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_PQSPeriod_businessDaily,
		(Odr_fun) odr_null, "businessDaily"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_PQSPeriod_continuous,
		(Odr_fun) odr_null, "continuous"},
		{ODR_IMPLICIT, ODR_CONTEXT, 4, Z_PQSPeriod_other,
		(Odr_fun) z_InternationalString, "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;
	if(o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}
Example #19
0
int z_PQSOriginPartNotToKeep (ODR o, Z_PQSOriginPartNotToKeep **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_EXPLICIT, ODR_CONTEXT, 1, Z_PQSOriginPartNotToKeep_actualQuery,
		(Odr_fun) z_Query, "actualQuery"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_PQSOriginPartNotToKeep_packageName,
		(Odr_fun) z_InternationalString, "packageName"},
		{-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_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "querySpec") &&
		odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
		odr_constructed_end (o)) || odr_ok(o)) &&
		odr_explicit_tag (o, z_PQSPeriod,
			&(*p)->originSuggestedPeriod, ODR_CONTEXT, 2, 1, "originSuggestedPeriod") &&
		odr_implicit_tag (o, odr_generalizedtime,
			&(*p)->expiration, ODR_CONTEXT, 3, 1, "expiration") &&
		odr_implicit_tag (o, z_InternationalString,
			&(*p)->resultSetPackage, ODR_CONTEXT, 4, 1, "resultSetPackage") &&
		odr_sequence_end (o);
}
Example #20
0
int z_Sort(ODR o, Z_Sort **p, int opt, const char *name)
{
	static Odr_arm arm[] = {
		{ODR_IMPLICIT, ODR_CONTEXT, 0, Z_SortD_sequence,
		(Odr_fun) odr_null, "sequence"},
		{ODR_IMPLICIT, ODR_CONTEXT, 1, Z_SortD_noRsName,
		(Odr_fun) odr_null, "noRsName"},
		{ODR_IMPLICIT, ODR_CONTEXT, 2, Z_SortD_tooMany,
		(Odr_fun) odr_integer, "tooMany"},
		{ODR_IMPLICIT, ODR_CONTEXT, 3, Z_SortD_incompatible,
		(Odr_fun) odr_null, "incompatible"},
		{ODR_IMPLICIT, ODR_CONTEXT, 4, Z_SortD_generic,
		(Odr_fun) odr_null, "generic"},
		{ODR_IMPLICIT, ODR_CONTEXT, 5, Z_SortD_dbSpecific,
		(Odr_fun) odr_null, "dbSpecific"},
		{ODR_EXPLICIT, ODR_CONTEXT, 6, Z_SortD_sortElement,
		(Odr_fun) z_SortElement, "sortElement"},
		{ODR_IMPLICIT, ODR_CONTEXT, 7, Z_SortD_key,
		(Odr_fun) odr_integer, "key"},
		{ODR_IMPLICIT, ODR_CONTEXT, 8, Z_SortD_action,
		(Odr_fun) odr_null, "action"},
		{ODR_IMPLICIT, ODR_CONTEXT, 9, Z_SortD_illegal,
		(Odr_fun) odr_integer, "illegal"},
		{ODR_IMPLICIT, ODR_CONTEXT, 10, Z_SortD_inputTooLarge,
		(Odr_fun) z_StringList, "inputTooLarge"},
		{ODR_IMPLICIT, ODR_CONTEXT, 11, Z_SortD_aggregateTooLarge,
		(Odr_fun) odr_null, "aggregateTooLarge"},
		{-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;
	if (o->direction == ODR_DECODE)
		*p = 0;
	return odr_missing(o, opt, name);
}