/*
 * Generated by asn1c-v1.4-43-gb7926896-2026-05-03 (https://github.com/mouse07410/asn1c)
 * From ASN.1 module "NGAP-IEs"
 * 	found in "../support/ngap-r19.2.0/38413-j20.asn"
 * 	`asn1c -pdu=all -fprefix=NGAP_ -fcompound-names -findirect-choice -fno-include-deps -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR -no-gen-OER -no-gen-UPER`
 */

#include "NGAP_NR-Paging-Time-Window-for-RRC-INACTIVE.h"

/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
asn_per_constraints_t asn_PER_type_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_constr_1 CC_NOTUSED = {
	{ APC_CONSTRAINED | APC_EXTENSIBLE,  5,  5,  0,  31 }	/* (0..31,...) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
#endif  /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
static const asn_INTEGER_enum_map_t asn_MAP_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_value2enum_1[] = {
	{ 0,	2,	"s1" },
	{ 1,	2,	"s2" },
	{ 2,	2,	"s3" },
	{ 3,	2,	"s4" },
	{ 4,	2,	"s5" },
	{ 5,	2,	"s6" },
	{ 6,	2,	"s7" },
	{ 7,	2,	"s8" },
	{ 8,	2,	"s9" },
	{ 9,	3,	"s10" },
	{ 10,	3,	"s11" },
	{ 11,	3,	"s12" },
	{ 12,	3,	"s13" },
	{ 13,	3,	"s14" },
	{ 14,	3,	"s15" },
	{ 15,	3,	"s16" },
	{ 16,	3,	"s17" },
	{ 17,	3,	"s18" },
	{ 18,	3,	"s19" },
	{ 19,	3,	"s20" },
	{ 20,	3,	"s21" },
	{ 21,	3,	"s22" },
	{ 22,	3,	"s23" },
	{ 23,	3,	"s24" },
	{ 24,	3,	"s25" },
	{ 25,	3,	"s26" },
	{ 26,	3,	"s27" },
	{ 27,	3,	"s28" },
	{ 28,	3,	"s29" },
	{ 29,	3,	"s30" },
	{ 30,	3,	"s31" },
	{ 31,	3,	"s32" }
	/* This list is extensible */
};
static int asn_validate_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_1(const asn_TYPE_descriptor_t *td,
                       const void *sptr,
                       asn_app_constraint_failed_f *ctfailcb,
                       void* app_key) {
    if(! sptr) { return -1; }
    e_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE value = *(e_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE*)sptr;
    switch(value) {
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s1:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s2:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s3:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s4:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s5:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s6:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s7:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s8:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s9:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s10:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s11:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s12:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s13:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s14:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s15:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s16:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s17:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s18:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s19:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s20:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s21:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s22:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s23:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s24:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s25:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s26:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s27:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s28:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s29:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s30:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s31:
    case NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_s32:
        return 0;
    }
    return -1;
}
static const unsigned int asn_MAP_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_enum2value_1[] = {
	0,	/* s1(0) */
	9,	/* s10(9) */
	10,	/* s11(10) */
	11,	/* s12(11) */
	12,	/* s13(12) */
	13,	/* s14(13) */
	14,	/* s15(14) */
	15,	/* s16(15) */
	16,	/* s17(16) */
	17,	/* s18(17) */
	18,	/* s19(18) */
	1,	/* s2(1) */
	19,	/* s20(19) */
	20,	/* s21(20) */
	21,	/* s22(21) */
	22,	/* s23(22) */
	23,	/* s24(23) */
	24,	/* s25(24) */
	25,	/* s26(25) */
	26,	/* s27(26) */
	27,	/* s28(27) */
	28,	/* s29(28) */
	2,	/* s3(2) */
	29,	/* s30(29) */
	30,	/* s31(30) */
	31,	/* s32(31) */
	3,	/* s4(3) */
	4,	/* s5(4) */
	5,	/* s6(5) */
	6,	/* s7(6) */
	7,	/* s8(7) */
	8	/* s9(8) */
	/* This list is extensible */
};
const asn_INTEGER_specifics_t asn_SPC_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_specs_1 = {
	asn_MAP_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_value2enum_1,	/* "tag" => N; sorted by tag */
	asn_MAP_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_enum2value_1,	/* N => "tag"; sorted by N */
	32,	/* Number of elements in the maps */
	33,	/* Extensions before this member */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
asn_TYPE_descriptor_t asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE = {
	"NR-Paging-Time-Window-for-RRC-INACTIVE",
	"NR-Paging-Time-Window-for-RRC-INACTIVE",
	&asn_OP_NativeEnumerated,
	asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1,
	sizeof(asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1)
		/sizeof(asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1[0]), /* 1 */
	asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1,	/* Same as above */
	sizeof(asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1)
		/sizeof(asn_DEF_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_tags_1[0]), /* 1 */
	{
#if !defined(ASN_DISABLE_OER_SUPPORT)
		0,
#endif  /* !defined(ASN_DISABLE_OER_SUPPORT) */
#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
		&asn_PER_type_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_constr_1,
#endif  /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
#if !defined(ASN_DISABLE_JER_SUPPORT)
		0,
#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
		asn_validate_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_1
	},
	0, 0,	/* Defined elsewhere */
	&asn_SPC_NGAP_NR_Paging_Time_Window_for_RRC_INACTIVE_specs_1	/* Additional specs */
};

