
/*** <<< INCLUDES [LogLine] >>> ***/

#include <IA5String.h>
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>

/*** <<< FWD-DECLS [LogLine] >>> ***/

struct VariablePartSet;

/*** <<< TYPE-DECLS [LogLine] >>> ***/

typedef struct LogLine {
	IA5String_t	 line_digest;
	struct varsets {
		A_SEQUENCE_OF(struct VariablePartSet) list;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} varsets;
	/*
	 * This type is extensible,
	 * possible extensions are below.
	 */
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} LogLine_t;

/*** <<< FUNC-DECLS [LogLine] >>> ***/

extern asn_TYPE_descriptor_t asn_DEF_LogLine;

/*** <<< POST-INCLUDE [LogLine] >>> ***/

#include <VariablePartSet.h>

/*** <<< CODE [LogLine] >>> ***/

static int
memb_varsets_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_consume_bytes_f *app_errlog, void *app_key) {
	size_t size;
	
	if(!sptr) {
		_ASN_ERRLOG(app_errlog, app_key,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	/* Determine the number of elements */
	size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
	
	if((size >= 1)) {
		/* Perform validation of the inner elements */
		return td->check_constraints(td, sptr, app_errlog, app_key);
	} else {
		_ASN_ERRLOG(app_errlog, app_key,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}


/*** <<< STAT-DEFS [LogLine] >>> ***/

static asn_TYPE_member_t asn_MBR_varsets_3[] = {
	{ ATF_POINTER, 0, 0,
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_VariablePartSet,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = ""
		},
};
static ber_tlv_tag_t asn_DEF_varsets_tags_3[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = {
	sizeof(struct varsets),
	offsetof(struct varsets, _asn_ctx),
	0,	/* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
	"varsets",
	"varsets",
	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,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_varsets_tags_3,
	sizeof(asn_DEF_varsets_tags_3)
		/sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
	asn_DEF_varsets_tags_3,	/* Same as above */
	sizeof(asn_DEF_varsets_tags_3)
		/sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_varsets_3,
	1,	/* Single element */
	&asn_SPC_varsets_specs_3	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_IA5String,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "line-digest"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_varsets_3,
		.memb_constraints = memb_varsets_constraint_1,
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "varsets"
		},
};
static ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */
    { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest at 23 */
};
static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = {
	sizeof(struct LogLine),
	offsetof(struct LogLine, _asn_ctx),
	asn_MAP_LogLine_tag2el_1,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	1,	/* Start extensions */
	3	/* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_LogLine = {
	"LogLine",
	"LogLine",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_LogLine_tags_1,
	sizeof(asn_DEF_LogLine_tags_1)
		/sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
	asn_DEF_LogLine_tags_1,	/* Same as above */
	sizeof(asn_DEF_LogLine_tags_1)
		/sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_LogLine_1,
	2,	/* Elements count */
	&asn_SPC_LogLine_specs_1	/* Additional specs */
};


/*** <<< INCLUDES [VariablePartSet] >>> ***/

#include <ActionItem.h>
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>
#include <constr_SEQUENCE.h>

/*** <<< FWD-DECLS [VariablePartSet] >>> ***/

struct VariablePart;

/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/

typedef struct VariablePartSet {
	struct vparts {
		A_SEQUENCE_OF(struct VariablePart) list;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} vparts;
	ActionItem_t	 resolution;
	/*
	 * This type is extensible,
	 * possible extensions are below.
	 */
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} VariablePartSet_t;

/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/

extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;

/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/

#include <VariablePart.h>

/*** <<< CODE [VariablePartSet] >>> ***/

static int
memb_vparts_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_consume_bytes_f *app_errlog, void *app_key) {
	
	if(!sptr) {
		_ASN_ERRLOG(app_errlog, app_key,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	
	if(1 /* No applicable constraints whatsoever */) {
		/* Nothing is here. See below */
	}
	
	return td->check_constraints(td, sptr, app_errlog, app_key);
}


/*** <<< STAT-DEFS [VariablePartSet] >>> ***/

static asn_TYPE_member_t asn_MBR_vparts_2[] = {
	{ ATF_POINTER, 0, 0,
		.tag = -1 /* Ambiguous tag (CHOICE?) */,
		.tag_mode = 0,
		.type = &asn_DEF_VariablePart,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = ""
		},
};
static ber_tlv_tag_t asn_DEF_vparts_tags_2[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = {
	sizeof(struct vparts),
	offsetof(struct vparts, _asn_ctx),
	2,	/* XER encoding is XMLValueList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
	"vparts",
	"vparts",
	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,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_vparts_tags_2,
	sizeof(asn_DEF_vparts_tags_2)
		/sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
	asn_DEF_vparts_tags_2,	/* Same as above */
	sizeof(asn_DEF_vparts_tags_2)
		/sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_vparts_2,
	1,	/* Single element */
	&asn_SPC_vparts_specs_2	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_vparts_2,
		.memb_constraints = memb_vparts_constraint_1,
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "vparts"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_ActionItem,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "resolution"
		},
};
static ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */
    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution at 35 */
};
static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
	sizeof(struct VariablePartSet),
	offsetof(struct VariablePartSet, _asn_ctx),
	asn_MAP_VariablePartSet_tag2el_1,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	1,	/* Start extensions */
	3	/* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_VariablePartSet = {
	"VariablePartSet",
	"VariablePartSet",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_VariablePartSet_tags_1,
	sizeof(asn_DEF_VariablePartSet_tags_1)
		/sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
	asn_DEF_VariablePartSet_tags_1,	/* Same as above */
	sizeof(asn_DEF_VariablePartSet_tags_1)
		/sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_VariablePartSet_1,
	2,	/* Elements count */
	&asn_SPC_VariablePartSet_specs_1	/* Additional specs */
};


/*** <<< INCLUDES [VariablePart] >>> ***/

#include <VisibleString.h>
#include <asn_SET_OF.h>
#include <constr_SET_OF.h>
#include <constr_SEQUENCE.h>
#include <constr_CHOICE.h>

/*** <<< DEPS [VariablePart] >>> ***/

typedef enum VariablePart_PR {
	VariablePart_PR_NOTHING,	/* No components present */
	VariablePart_PR_vset,
	VariablePart_PR_vrange,
	/* Extensions may appear below */
} VariablePart_PR;

/*** <<< TYPE-DECLS [VariablePart] >>> ***/

typedef struct VariablePart {
	VariablePart_PR present;
	union VariablePart_u {
		struct vset {
			A_SET_OF(VisibleString_t) list;
			
			/* Context for parsing across buffer boundaries */
			asn_struct_ctx_t _asn_ctx;
		} vset;
		struct vrange {
			VisibleString_t	 from;
			VisibleString_t	 to;
			/*
			 * This type is extensible,
			 * possible extensions are below.
			 */
			
			/* Context for parsing across buffer boundaries */
			asn_struct_ctx_t _asn_ctx;
		} vrange;
		/*
		 * This type is extensible,
		 * possible extensions are below.
		 */
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} VariablePart_t;

/*** <<< FUNC-DECLS [VariablePart] >>> ***/

extern asn_TYPE_descriptor_t asn_DEF_VariablePart;

/*** <<< CODE [VariablePart] >>> ***/

static int
memb_vset_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_consume_bytes_f *app_errlog, void *app_key) {
	size_t size;
	
	if(!sptr) {
		_ASN_ERRLOG(app_errlog, app_key,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	/* Determine the number of elements */
	size = _A_CSET_FROM_VOID(sptr)->count;
	
	if((size >= 1)) {
		/* Perform validation of the inner elements */
		return td->check_constraints(td, sptr, app_errlog, app_key);
	} else {
		_ASN_ERRLOG(app_errlog, app_key,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}


/*** <<< STAT-DEFS [VariablePart] >>> ***/

static asn_TYPE_member_t asn_MBR_vset_2[] = {
	{ ATF_POINTER, 0, 0,
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_VisibleString,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = ""
		},
};
static ber_tlv_tag_t asn_DEF_vset_tags_2[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = {
	sizeof(struct vset),
	offsetof(struct vset, _asn_ctx),
	0,	/* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_vset_2 = {
	"vset",
	"vset",
	SET_OF_free,
	SET_OF_print,
	SET_OF_constraint,
	SET_OF_decode_ber,
	SET_OF_encode_der,
	SET_OF_decode_xer,
	SET_OF_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_vset_tags_2,
	sizeof(asn_DEF_vset_tags_2)
		/sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
	asn_DEF_vset_tags_2,	/* Same as above */
	sizeof(asn_DEF_vset_tags_2)
		/sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_vset_2,
	1,	/* Single element */
	&asn_SPC_vset_specs_2	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_vrange_4[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct vrange, from),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_VisibleString,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "from"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct vrange, to),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_VisibleString,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "to"
		},
};
static ber_tlv_tag_t asn_DEF_vrange_tags_4[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */
    { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to at 46 */
};
static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = {
	sizeof(struct vrange),
	offsetof(struct vrange, _asn_ctx),
	asn_MAP_vrange_tag2el_4,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	1,	/* Start extensions */
	3	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
	"vrange",
	"vrange",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_vrange_tags_4,
	sizeof(asn_DEF_vrange_tags_4)
		/sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
	asn_DEF_vrange_tags_4,	/* Same as above */
	sizeof(asn_DEF_vrange_tags_4)
		/sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_vrange_4,
	2,	/* Elements count */
	&asn_SPC_vrange_specs_4	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_vset_2,
		.memb_constraints = memb_vset_constraint_1,
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "vset"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_vrange_4,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "vrange"
		},
};
static asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */
    { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset at 42 */
};
static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
	sizeof(struct VariablePart),
	offsetof(struct VariablePart, _asn_ctx),
	offsetof(struct VariablePart, present),
	sizeof(((struct VariablePart *)0)->present),
	asn_MAP_VariablePart_tag2el_1,
	2,	/* Count of tags in the map */
	.canonical_order = 0,
	.ext_start = 2	/* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_VariablePart = {
	"VariablePart",
	"VariablePart",
	CHOICE_free,
	CHOICE_print,
	CHOICE_constraint,
	CHOICE_decode_ber,
	CHOICE_encode_der,
	CHOICE_decode_xer,
	CHOICE_encode_xer,
	0,	/* No PER decoder, -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_VariablePart_1,
	2,	/* Elements count */
	&asn_SPC_VariablePart_specs_1	/* Additional specs */
};


/*** <<< INCLUDES [ActionItem] >>> ***/

#include <ENUMERATED.h>
#include <BOOLEAN.h>
#include <VisibleString.h>
#include <asn_SET_OF.h>
#include <constr_SET_OF.h>
#include <constr_SEQUENCE.h>

/*** <<< DEPS [ActionItem] >>> ***/

typedef enum accept_as {
	accept_as_unknown	= 0,
	accept_as_safe	= 1,
	accept_as_unsafe	= 2
	/*
	 * Enumeration is extensible
	 */
} accept_as_e;

/*** <<< TYPE-DECLS [ActionItem] >>> ***/

typedef struct ActionItem {
	ENUMERATED_t	 accept_as;
	struct notify {
		BOOLEAN_t	 critical;
		struct email {
			A_SET_OF(VisibleString_t) list;
			
			/* Context for parsing across buffer boundaries */
			asn_struct_ctx_t _asn_ctx;
		} email;
		/*
		 * This type is extensible,
		 * possible extensions are below.
		 */
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} *notify;
	/*
	 * This type is extensible,
	 * possible extensions are below.
	 */
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ActionItem_t;

/*** <<< FUNC-DECLS [ActionItem] >>> ***/

/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2;	// (Use -fall-defs-global to expose) */
extern asn_TYPE_descriptor_t asn_DEF_ActionItem;

/*** <<< CODE [ActionItem] >>> ***/

static int
accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_consume_bytes_f *app_errlog, void *app_key) {
	/* Replace with underlying type checker */
	td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
	return td->check_constraints(td, sptr, app_errlog, app_key);
}

/*
 * This type is implemented using ENUMERATED,
 * so here we adjust the DEF accordingly.
 */
static void
accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
	td->free_struct    = asn_DEF_ENUMERATED.free_struct;
	td->print_struct   = asn_DEF_ENUMERATED.print_struct;
	td->ber_decoder    = asn_DEF_ENUMERATED.ber_decoder;
	td->der_encoder    = asn_DEF_ENUMERATED.der_encoder;
	td->xer_decoder    = asn_DEF_ENUMERATED.xer_decoder;
	td->xer_encoder    = asn_DEF_ENUMERATED.xer_encoder;
	td->uper_decoder   = asn_DEF_ENUMERATED.uper_decoder;
	if(!td->per_constraints)
		td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
	td->elements       = asn_DEF_ENUMERATED.elements;
	td->elements_count = asn_DEF_ENUMERATED.elements_count;
     /* td->specifics      = asn_DEF_ENUMERATED.specifics;	// Defined explicitly */
}

static void
accept_as_2_free(asn_TYPE_descriptor_t *td,
		void *struct_ptr, int contents_only) {
	accept_as_2_inherit_TYPE_descriptor(td);
	td->free_struct(td, struct_ptr, contents_only);
}

static int
accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
		int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
	accept_as_2_inherit_TYPE_descriptor(td);
	return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
}

static asn_dec_rval_t
accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
		void **structure, const void *bufptr, size_t size, int tag_mode) {
	accept_as_2_inherit_TYPE_descriptor(td);
	return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
}

static asn_enc_rval_t
accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
		void *structure, int tag_mode, ber_tlv_tag_t tag,
		asn_app_consume_bytes_f *cb, void *app_key) {
	accept_as_2_inherit_TYPE_descriptor(td);
	return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
}

static asn_dec_rval_t
accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
		void **structure, const char *opt_mname, const void *bufptr, size_t size) {
	accept_as_2_inherit_TYPE_descriptor(td);
	return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
}

static asn_enc_rval_t
accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
		int ilevel, enum xer_encoder_flags_e flags,
		asn_app_consume_bytes_f *cb, void *app_key) {
	accept_as_2_inherit_TYPE_descriptor(td);
	return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
}


/*** <<< STAT-DEFS [ActionItem] >>> ***/

static asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
	{ 0,	7,	"unknown" },
	{ 1,	4,	"safe" },
	{ 2,	6,	"unsafe" }
	/* This list is extensible */
};
static unsigned int asn_MAP_accept_as_enum2value_2[] = {
	1,	/* safe(1) */
	0,	/* unknown(0) */
	2	/* unsafe(2) */
	/* This list is extensible */
};
static asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
	asn_MAP_accept_as_value2enum_2,	/* "tag" => N; sorted by tag */
	asn_MAP_accept_as_enum2value_2,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	4,	/* Extensions before this member */
	1	/* Strict enumeration */
};
static ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
	"accept-as",
	"accept-as",
	accept_as_2_free,
	accept_as_2_print,
	accept_as_2_constraint,
	accept_as_2_decode_ber,
	accept_as_2_encode_der,
	accept_as_2_decode_xer,
	accept_as_2_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_accept_as_tags_2,
	sizeof(asn_DEF_accept_as_tags_2)
		/sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
	asn_DEF_accept_as_tags_2,	/* Same as above */
	sizeof(asn_DEF_accept_as_tags_2)
		/sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
	0,	/* No PER visible constraints */
	0, 0,	/* Defined elsewhere */
	&asn_SPC_accept_as_specs_2	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_email_9[] = {
	{ ATF_POINTER, 0, 0,
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_VisibleString,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = ""
		},
};
static ber_tlv_tag_t asn_DEF_email_tags_9[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
	sizeof(struct email),
	offsetof(struct email, _asn_ctx),
	0,	/* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_email_9 = {
	"email",
	"email",
	SET_OF_free,
	SET_OF_print,
	SET_OF_constraint,
	SET_OF_decode_ber,
	SET_OF_encode_der,
	SET_OF_decode_xer,
	SET_OF_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_email_tags_9,
	sizeof(asn_DEF_email_tags_9)
		/sizeof(asn_DEF_email_tags_9[0]), /* 1 */
	asn_DEF_email_tags_9,	/* Same as above */
	sizeof(asn_DEF_email_tags_9)
		/sizeof(asn_DEF_email_tags_9[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_email_9,
	1,	/* Single element */
	&asn_SPC_email_specs_9	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_notify_7[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct notify, critical),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_BOOLEAN,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "critical"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct notify, email),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_email_9,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "email"
		},
};
static ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */
    { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email at 62 */
};
static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
	sizeof(struct notify),
	offsetof(struct notify, _asn_ctx),
	asn_MAP_notify_tag2el_7,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	1,	/* Start extensions */
	3	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_notify_7 = {
	"notify",
	"notify",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_notify_tags_7,
	sizeof(asn_DEF_notify_tags_7)
		/sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
	asn_DEF_notify_tags_7,	/* Same as above */
	sizeof(asn_DEF_notify_tags_7)
		/sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_notify_7,
	2,	/* Elements count */
	&asn_SPC_notify_specs_7	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_accept_as_2,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "accept-as"
		},
	{ ATF_POINTER, 1, offsetof(struct ActionItem, notify),
		.tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		.tag_mode = 0,
		.type = &asn_DEF_notify_7,
		.memb_constraints = 0,	/* Defer constraints checking to the member type */
		.per_constraints = 0,	/* PER is not compiled, use -gen-PER */
		.default_value = 0,
		.name = "notify"
		},
};
static ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
    { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */
    { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify at 61 */
};
static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
	sizeof(struct ActionItem),
	offsetof(struct ActionItem, _asn_ctx),
	asn_MAP_ActionItem_tag2el_1,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	1,	/* Start extensions */
	3	/* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_ActionItem = {
	"ActionItem",
	"ActionItem",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	0,	/* No PER decoder, -gen-PER to enable */
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_ActionItem_tags_1,
	sizeof(asn_DEF_ActionItem_tags_1)
		/sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
	asn_DEF_ActionItem_tags_1,	/* Same as above */
	sizeof(asn_DEF_ActionItem_tags_1)
		/sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_ActionItem_1,
	2,	/* Elements count */
	&asn_SPC_ActionItem_specs_1	/* Additional specs */
};

