/*
 * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
 * From ASN.1 module "FEF-IntermediateDraft"
 * 	found in "../annexb-snacc-122001.asn1"
 */

#include <asn_internal.h>

#include "MedicalDeviceComponents.h"

static asn_TYPE_member_t asn_MBR_medicaldevices_3[] = {
	{ ATF_POINTER, 0, 0,
		(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		0,
		&asn_DEF_VirtualMedicalDeviceSection,
		0,	/* Defer constraints checking to the member type */
		0,	/* PER is not compiled, use -gen-PER */
		0,
		""
		},
};
static ber_tlv_tag_t asn_DEF_medicaldevices_tags_3[] = {
	(ASN_TAG_CLASS_APPLICATION | (7010 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_medicaldevices_specs_3 = {
	sizeof(struct MedicalDeviceComponents__medicaldevices),
	offsetof(struct MedicalDeviceComponents__medicaldevices, _asn_ctx),
	0,	/* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_medicaldevices_3 = {
	"medicaldevices",
	"medicaldevices",
	SEQUENCE_OF_free,
	SEQUENCE_OF_print,
	SEQUENCE_OF_constraint,
	SEQUENCE_OF_decode_ber,
	SEQUENCE_OF_encode_der,
	SEQUENCE_OF_decode_xer,
	SEQUENCE_OF_encode_xer,
	0, 0,	/* No PER support, use "-gen-PER" to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_medicaldevices_tags_3,
	sizeof(asn_DEF_medicaldevices_tags_3)
		/sizeof(asn_DEF_medicaldevices_tags_3[0]) - 1, /* 1 */
	asn_DEF_medicaldevices_tags_3,	/* Same as above */
	sizeof(asn_DEF_medicaldevices_tags_3)
		/sizeof(asn_DEF_medicaldevices_tags_3[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_medicaldevices_3,
	1,	/* Single element */
	&asn_SPC_medicaldevices_specs_3	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_subsystems_5[] = {
	{ ATF_POINTER, 0, 0,
		(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		0,
		&asn_DEF_MedicalDeviceSystemSection,
		0,	/* Defer constraints checking to the member type */
		0,	/* PER is not compiled, use -gen-PER */
		0,
		""
		},
};
static ber_tlv_tag_t asn_DEF_subsystems_tags_5[] = {
	(ASN_TAG_CLASS_APPLICATION | (7011 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_subsystems_specs_5 = {
	sizeof(struct MedicalDeviceComponents__subsystems),
	offsetof(struct MedicalDeviceComponents__subsystems, _asn_ctx),
	0,	/* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_subsystems_5 = {
	"subsystems",
	"subsystems",
	SEQUENCE_OF_free,
	SEQUENCE_OF_print,
	SEQUENCE_OF_constraint,
	SEQUENCE_OF_decode_ber,
	SEQUENCE_OF_encode_der,
	SEQUENCE_OF_decode_xer,
	SEQUENCE_OF_encode_xer,
	0, 0,	/* No PER support, use "-gen-PER" to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_subsystems_tags_5,
	sizeof(asn_DEF_subsystems_tags_5)
		/sizeof(asn_DEF_subsystems_tags_5[0]) - 1, /* 1 */
	asn_DEF_subsystems_tags_5,	/* Same as above */
	sizeof(asn_DEF_subsystems_tags_5)
		/sizeof(asn_DEF_subsystems_tags_5[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_subsystems_5,
	1,	/* Single element */
	&asn_SPC_subsystems_specs_5	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_MedicalDeviceComponents_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct MedicalDeviceComponents, choice.medicaldevice),
		(ASN_TAG_CLASS_APPLICATION | (7009 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_VirtualMedicalDeviceSection,
		0,	/* Defer constraints checking to the member type */
		0,	/* PER is not compiled, use -gen-PER */
		0,
		"medicaldevice"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct MedicalDeviceComponents, choice.medicaldevices),
		(ASN_TAG_CLASS_APPLICATION | (7010 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_medicaldevices_3,
		0,	/* Defer constraints checking to the member type */
		0,	/* PER is not compiled, use -gen-PER */
		0,
		"medicaldevices"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct MedicalDeviceComponents, choice.subsystems),
		(ASN_TAG_CLASS_APPLICATION | (7011 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_subsystems_5,
		0,	/* Defer constraints checking to the member type */
		0,	/* PER is not compiled, use -gen-PER */
		0,
		"subsystems"
		},
};
static asn_TYPE_tag2member_t asn_MAP_MedicalDeviceComponents_tag2el_1[] = {
    { (ASN_TAG_CLASS_APPLICATION | (7009 << 2)), 0, 0, 0 }, /* medicaldevice at 596 */
    { (ASN_TAG_CLASS_APPLICATION | (7010 << 2)), 1, 0, 0 }, /* medicaldevices at 600 */
    { (ASN_TAG_CLASS_APPLICATION | (7011 << 2)), 2, 0, 0 } /* subsystems at 606 */
};
static asn_CHOICE_specifics_t asn_SPC_MedicalDeviceComponents_specs_1 = {
	sizeof(struct MedicalDeviceComponents),
	offsetof(struct MedicalDeviceComponents, _asn_ctx),
	offsetof(struct MedicalDeviceComponents, present),
	sizeof(((struct MedicalDeviceComponents *)0)->present),
	asn_MAP_MedicalDeviceComponents_tag2el_1,
	3,	/* Count of tags in the map */
	0,
	-1	/* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_MedicalDeviceComponents = {
	"MedicalDeviceComponents",
	"MedicalDeviceComponents",
	CHOICE_free,
	CHOICE_print,
	CHOICE_constraint,
	CHOICE_decode_ber,
	CHOICE_encode_der,
	CHOICE_decode_xer,
	CHOICE_encode_xer,
	0, 0,	/* No PER support, use "-gen-PER" to enable */
	CHOICE_outmost_tag,
	0,	/* No effective tags (pointer) */
	0,	/* No effective tags (count) */
	0,	/* No tags (pointer) */
	0,	/* No tags (count) */
	0,	/* No PER visible constraints */
	asn_MBR_MedicalDeviceComponents_1,
	3,	/* Elements count */
	&asn_SPC_MedicalDeviceComponents_specs_1	/* Additional specs */
};

