/*
 * Generated by asn1c-0.9.23 (http://lionet.info/asn1c)
 * From ASN.1 module "MAP-MS-DataTypes"
 * 	found in "../asn1src/MAP-MS-DataTypes.asn"
 * 	`asn1c -gen-PER -fskeletons-copy -fnative-types`
 */

#include "PDP-Context.h"

static asn_TYPE_member_t asn_MBR_PDP_Context_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct PDP_Context, pdp_ContextId),
		(ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
		0,
		&asn_DEF_ContextId,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"pdp-ContextId"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct PDP_Context, pdp_Type),
		(ASN_TAG_CLASS_CONTEXT | (16 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_PDP_Type,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"pdp-Type"
		},
	{ ATF_POINTER, 1, offsetof(struct PDP_Context, pdp_Address),
		(ASN_TAG_CLASS_CONTEXT | (17 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_PDP_Address,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"pdp-Address"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct PDP_Context, qos_Subscribed),
		(ASN_TAG_CLASS_CONTEXT | (18 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_QoS_Subscribed,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"qos-Subscribed"
		},
	{ ATF_POINTER, 1, offsetof(struct PDP_Context, vplmnAddressAllowed),
		(ASN_TAG_CLASS_CONTEXT | (19 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NULL,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"vplmnAddressAllowed"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct PDP_Context, apn),
		(ASN_TAG_CLASS_CONTEXT | (20 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_APN,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"apn"
		},
	{ ATF_POINTER, 12, offsetof(struct PDP_Context, extensionContainer),
		(ASN_TAG_CLASS_CONTEXT | (21 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ExtensionContainer,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"extensionContainer"
		},
	{ ATF_POINTER, 11, offsetof(struct PDP_Context, ext_QoS_Subscribed),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_Ext_QoS_Subscribed,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ext-QoS-Subscribed"
		},
	{ ATF_POINTER, 10, offsetof(struct PDP_Context, pdp_ChargingCharacteristics),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ChargingCharacteristics,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"pdp-ChargingCharacteristics"
		},
	{ ATF_POINTER, 9, offsetof(struct PDP_Context, ext2_QoS_Subscribed),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_Ext2_QoS_Subscribed,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ext2-QoS-Subscribed"
		},
	{ ATF_POINTER, 8, offsetof(struct PDP_Context, ext3_QoS_Subscribed),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_Ext3_QoS_Subscribed,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ext3-QoS-Subscribed"
		},
	{ ATF_POINTER, 7, offsetof(struct PDP_Context, ext4_QoS_Subscribed),
		(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_Ext4_QoS_Subscribed,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ext4-QoS-Subscribed"
		},
	{ ATF_POINTER, 6, offsetof(struct PDP_Context, apn_oi_Replacement),
		(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_APN_OI_Replacement,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"apn-oi-Replacement"
		},
	{ ATF_POINTER, 5, offsetof(struct PDP_Context, ext_pdp_Type),
		(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_Ext_PDP_Type,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ext-pdp-Type"
		},
	{ ATF_POINTER, 4, offsetof(struct PDP_Context, ext_pdp_Address),
		(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_PDP_Address,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ext-pdp-Address"
		},
	{ ATF_POINTER, 3, offsetof(struct PDP_Context, ambr),
		(ASN_TAG_CLASS_CONTEXT | (10 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_AMBR,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"ambr"
		},
	{ ATF_POINTER, 2, offsetof(struct PDP_Context, sipto_Permission),
		(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_SIPTO_Permission,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"sipto-Permission"
		},
	{ ATF_POINTER, 1, offsetof(struct PDP_Context, lipa_Permission),
		(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_LIPA_Permission,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"lipa-Permission"
		},
};
static int asn_MAP_PDP_Context_oms_1[] = { 2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 };
static ber_tlv_tag_t asn_DEF_PDP_Context_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_PDP_Context_tag2el_1[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 }, /* pdp-ContextId at 1295 */
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 7, 0, 0 }, /* ext-QoS-Subscribed at 1303 */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 8, 0, 0 }, /* pdp-ChargingCharacteristics at 1304 */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 9, 0, 0 }, /* ext2-QoS-Subscribed at 1305 */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 10, 0, 0 }, /* ext3-QoS-Subscribed at 1307 */
    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 11, 0, 0 }, /* ext4-QoS-Subscribed at 1309 */
    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 12, 0, 0 }, /* apn-oi-Replacement at 1311 */
    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 13, 0, 0 }, /* ext-pdp-Type at 1314 */
    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 14, 0, 0 }, /* ext-pdp-Address at 1317 */
    { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 16, 0, 0 }, /* sipto-Permission at 1326 */
    { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 17, 0, 0 }, /* lipa-Permission at 1327 */
    { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 15, 0, 0 }, /* ambr at 1323 */
    { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 1, 0, 0 }, /* pdp-Type at 1296 */
    { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 2, 0, 0 }, /* pdp-Address at 1297 */
    { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 3, 0, 0 }, /* qos-Subscribed at 1298 */
    { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 4, 0, 0 }, /* vplmnAddressAllowed at 1299 */
    { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 5, 0, 0 }, /* apn at 1300 */
    { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 6, 0, 0 } /* extensionContainer at 1301 */
};
static asn_SEQUENCE_specifics_t asn_SPC_PDP_Context_specs_1 = {
	sizeof(struct PDP_Context),
	offsetof(struct PDP_Context, _asn_ctx),
	asn_MAP_PDP_Context_tag2el_1,
	18,	/* Count of tags in the map */
	asn_MAP_PDP_Context_oms_1,	/* Optional members */
	3, 11,	/* Root/Additions */
	6,	/* Start extensions */
	19	/* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_PDP_Context = {
	"PDP-Context",
	"PDP-Context",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_PDP_Context_tags_1,
	sizeof(asn_DEF_PDP_Context_tags_1)
		/sizeof(asn_DEF_PDP_Context_tags_1[0]), /* 1 */
	asn_DEF_PDP_Context_tags_1,	/* Same as above */
	sizeof(asn_DEF_PDP_Context_tags_1)
		/sizeof(asn_DEF_PDP_Context_tags_1[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_PDP_Context_1,
	18,	/* Elements count */
	&asn_SPC_PDP_Context_specs_1	/* Additional specs */
};

