/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "SBC-AP-Containers"
 * 	found in "../../src/sbcap/asn1/SBC_AP_Containers.asn"
 * 	`asn1c -S /home/pespin/dev/sysmocom/build/new/out/share/asn1c -fcompound-names -gen-APER -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-OER -no-gen-UPER -no-gen-example`
 */

#ifndef	_SBcAP_ProtocolIE_Field_H_
#define	_SBcAP_ProtocolIE_Field_H_


#include <asn_application.h>

/* Including external dependencies */
#include <osmocom/sbcap/SBcAP_ProtocolIE-ID.h>
#include <osmocom/sbcap/SBcAP_Criticality.h>
#include <ANY.h>
#include <asn_ioc.h>
#include <osmocom/sbcap/SBcAP_Message-Identifier.h>
#include <osmocom/sbcap/SBcAP_Presence.h>
#include <osmocom/sbcap/SBcAP_Serial-Number.h>
#include <osmocom/sbcap/SBcAP_List-of-TAIs.h>
#include <osmocom/sbcap/SBcAP_Warning-Area-List.h>
#include <osmocom/sbcap/SBcAP_Repetition-Period.h>
#include <osmocom/sbcap/SBcAP_Extended-Repetition-Period.h>
#include <osmocom/sbcap/SBcAP_Number-of-Broadcasts-Requested.h>
#include <osmocom/sbcap/SBcAP_Warning-Type.h>
#include <osmocom/sbcap/SBcAP_Warning-Security-Information.h>
#include <osmocom/sbcap/SBcAP_Data-Coding-Scheme.h>
#include <osmocom/sbcap/SBcAP_Warning-Message-Content.h>
#include <osmocom/sbcap/SBcAP_Omc-Id.h>
#include <osmocom/sbcap/SBcAP_Concurrent-Warning-Message-Indicator.h>
#include <osmocom/sbcap/SBcAP_Send-Write-Replace-Warning-Indication.h>
#include <osmocom/sbcap/SBcAP_Global-ENB-ID.h>
#include <osmocom/sbcap/SBcAP_Warning-Area-Coordinates.h>
#include <OPEN_TYPE.h>
#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
#include <osmocom/sbcap/SBcAP_Cause.h>
#include <osmocom/sbcap/SBcAP_Criticality-Diagnostics.h>
#include <osmocom/sbcap/SBcAP_Send-Stop-Warning-Indication.h>
#include <osmocom/sbcap/SBcAP_Stop-All-Indicator.h>
#include <osmocom/sbcap/SBcAP_Broadcast-Scheduled-Area-List.h>
#include <osmocom/sbcap/SBcAP_Broadcast-Cancelled-Area-List.h>
#include <osmocom/sbcap/SBcAP_Broadcast-Empty-Area-List.h>
#include <osmocom/sbcap/SBcAP_Restarted-Cell-List.h>
#include <osmocom/sbcap/SBcAP_List-of-TAIs-Restart.h>
#include <osmocom/sbcap/SBcAP_List-of-EAIs-Restart.h>
#include <osmocom/sbcap/SBcAP_Failed-Cell-List.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum SBcAP_Write_Replace_Warning_Request_IEs__value_PR {
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Message_Identifier,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Serial_Number,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_List_of_TAIs,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Warning_Area_List,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Repetition_Period,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Extended_Repetition_Period,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Number_of_Broadcasts_Requested,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Warning_Type,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Warning_Security_Information,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Data_Coding_Scheme,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Warning_Message_Content,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Omc_Id,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Concurrent_Warning_Message_Indicator,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Send_Write_Replace_Warning_Indication,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Global_ENB_ID,
	SBcAP_Write_Replace_Warning_Request_IEs__value_PR_Warning_Area_Coordinates
} SBcAP_Write_Replace_Warning_Request_IEs__value_PR;
typedef enum SBcAP_Write_Replace_Warning_Response_IEs__value_PR {
	SBcAP_Write_Replace_Warning_Response_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_Write_Replace_Warning_Response_IEs__value_PR_Message_Identifier,
	SBcAP_Write_Replace_Warning_Response_IEs__value_PR_Serial_Number,
	SBcAP_Write_Replace_Warning_Response_IEs__value_PR_Cause,
	SBcAP_Write_Replace_Warning_Response_IEs__value_PR_Criticality_Diagnostics,
	SBcAP_Write_Replace_Warning_Response_IEs__value_PR_List_of_TAIs
} SBcAP_Write_Replace_Warning_Response_IEs__value_PR;
typedef enum SBcAP_Stop_Warning_Request_IEs__value_PR {
	SBcAP_Stop_Warning_Request_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_Stop_Warning_Request_IEs__value_PR_Message_Identifier,
	SBcAP_Stop_Warning_Request_IEs__value_PR_Serial_Number,
	SBcAP_Stop_Warning_Request_IEs__value_PR_List_of_TAIs,
	SBcAP_Stop_Warning_Request_IEs__value_PR_Warning_Area_List,
	SBcAP_Stop_Warning_Request_IEs__value_PR_Omc_Id,
	SBcAP_Stop_Warning_Request_IEs__value_PR_Send_Stop_Warning_Indication,
	SBcAP_Stop_Warning_Request_IEs__value_PR_Stop_All_Indicator
} SBcAP_Stop_Warning_Request_IEs__value_PR;
typedef enum SBcAP_Stop_Warning_Response_IEs__value_PR {
	SBcAP_Stop_Warning_Response_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_Stop_Warning_Response_IEs__value_PR_Message_Identifier,
	SBcAP_Stop_Warning_Response_IEs__value_PR_Serial_Number,
	SBcAP_Stop_Warning_Response_IEs__value_PR_Cause,
	SBcAP_Stop_Warning_Response_IEs__value_PR_Criticality_Diagnostics,
	SBcAP_Stop_Warning_Response_IEs__value_PR_List_of_TAIs
} SBcAP_Stop_Warning_Response_IEs__value_PR;
typedef enum SBcAP_Write_Replace_Warning_Indication_IEs__value_PR {
	SBcAP_Write_Replace_Warning_Indication_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_Write_Replace_Warning_Indication_IEs__value_PR_Message_Identifier,
	SBcAP_Write_Replace_Warning_Indication_IEs__value_PR_Serial_Number,
	SBcAP_Write_Replace_Warning_Indication_IEs__value_PR_Broadcast_Scheduled_Area_List
} SBcAP_Write_Replace_Warning_Indication_IEs__value_PR;
typedef enum SBcAP_Stop_Warning_Indication_IEs__value_PR {
	SBcAP_Stop_Warning_Indication_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_Stop_Warning_Indication_IEs__value_PR_Message_Identifier,
	SBcAP_Stop_Warning_Indication_IEs__value_PR_Serial_Number,
	SBcAP_Stop_Warning_Indication_IEs__value_PR_Broadcast_Cancelled_Area_List,
	SBcAP_Stop_Warning_Indication_IEs__value_PR_Broadcast_Empty_Area_List
} SBcAP_Stop_Warning_Indication_IEs__value_PR;
typedef enum SBcAP_PWS_Restart_Indication_IEs__value_PR {
	SBcAP_PWS_Restart_Indication_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_PWS_Restart_Indication_IEs__value_PR_Restarted_Cell_List,
	SBcAP_PWS_Restart_Indication_IEs__value_PR_Global_ENB_ID,
	SBcAP_PWS_Restart_Indication_IEs__value_PR_List_of_TAIs_Restart,
	SBcAP_PWS_Restart_Indication_IEs__value_PR_List_of_EAIs_Restart
} SBcAP_PWS_Restart_Indication_IEs__value_PR;
typedef enum SBcAP_PWS_Failure_Indication_IEs__value_PR {
	SBcAP_PWS_Failure_Indication_IEs__value_PR_NOTHING,	/* No components present */
	SBcAP_PWS_Failure_Indication_IEs__value_PR_Failed_Cell_List,
	SBcAP_PWS_Failure_Indication_IEs__value_PR_Global_ENB_ID
} SBcAP_PWS_Failure_Indication_IEs__value_PR;
typedef enum SBcAP_ErrorIndicationIEs__value_PR {
	SBcAP_ErrorIndicationIEs__value_PR_NOTHING,	/* No components present */
	SBcAP_ErrorIndicationIEs__value_PR_Cause,
	SBcAP_ErrorIndicationIEs__value_PR_Criticality_Diagnostics
} SBcAP_ErrorIndicationIEs__value_PR;

/* SBcAP_ProtocolIE-Field */
typedef struct SBcAP_Write_Replace_Warning_Request_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_Write_Replace_Warning_Request_IEs__value {
		SBcAP_Write_Replace_Warning_Request_IEs__value_PR present;
		union SBcAP_Write_Replace_Warning_Request_IEs__SBcAP_value_u {
			SBcAP_Message_Identifier_t	 Message_Identifier;
			SBcAP_Serial_Number_t	 Serial_Number;
			SBcAP_List_of_TAIs_t	 List_of_TAIs;
			SBcAP_Warning_Area_List_t	 Warning_Area_List;
			SBcAP_Repetition_Period_t	 Repetition_Period;
			SBcAP_Extended_Repetition_Period_t	 Extended_Repetition_Period;
			SBcAP_Number_of_Broadcasts_Requested_t	 Number_of_Broadcasts_Requested;
			SBcAP_Warning_Type_t	 Warning_Type;
			SBcAP_Warning_Security_Information_t	 Warning_Security_Information;
			SBcAP_Data_Coding_Scheme_t	 Data_Coding_Scheme;
			SBcAP_Warning_Message_Content_t	 Warning_Message_Content;
			SBcAP_Omc_Id_t	 Omc_Id;
			SBcAP_Concurrent_Warning_Message_Indicator_t	 Concurrent_Warning_Message_Indicator;
			SBcAP_Send_Write_Replace_Warning_Indication_t	 Send_Write_Replace_Warning_Indication;
			SBcAP_Global_ENB_ID_t	 Global_ENB_ID;
			SBcAP_Warning_Area_Coordinates_t	 Warning_Area_Coordinates;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_Write_Replace_Warning_Request_IEs_t;
typedef struct SBcAP_Write_Replace_Warning_Response_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_Write_Replace_Warning_Response_IEs__value {
		SBcAP_Write_Replace_Warning_Response_IEs__value_PR present;
		union SBcAP_Write_Replace_Warning_Response_IEs__SBcAP_value_u {
			SBcAP_Message_Identifier_t	 Message_Identifier;
			SBcAP_Serial_Number_t	 Serial_Number;
			SBcAP_Cause_t	 Cause;
			SBcAP_Criticality_Diagnostics_t	 Criticality_Diagnostics;
			SBcAP_List_of_TAIs_t	 List_of_TAIs;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_Write_Replace_Warning_Response_IEs_t;
typedef struct SBcAP_Stop_Warning_Request_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_Stop_Warning_Request_IEs__value {
		SBcAP_Stop_Warning_Request_IEs__value_PR present;
		union SBcAP_Stop_Warning_Request_IEs__SBcAP_value_u {
			SBcAP_Message_Identifier_t	 Message_Identifier;
			SBcAP_Serial_Number_t	 Serial_Number;
			SBcAP_List_of_TAIs_t	 List_of_TAIs;
			SBcAP_Warning_Area_List_t	 Warning_Area_List;
			SBcAP_Omc_Id_t	 Omc_Id;
			SBcAP_Send_Stop_Warning_Indication_t	 Send_Stop_Warning_Indication;
			SBcAP_Stop_All_Indicator_t	 Stop_All_Indicator;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_Stop_Warning_Request_IEs_t;
typedef struct SBcAP_Stop_Warning_Response_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_Stop_Warning_Response_IEs__value {
		SBcAP_Stop_Warning_Response_IEs__value_PR present;
		union SBcAP_Stop_Warning_Response_IEs__SBcAP_value_u {
			SBcAP_Message_Identifier_t	 Message_Identifier;
			SBcAP_Serial_Number_t	 Serial_Number;
			SBcAP_Cause_t	 Cause;
			SBcAP_Criticality_Diagnostics_t	 Criticality_Diagnostics;
			SBcAP_List_of_TAIs_t	 List_of_TAIs;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_Stop_Warning_Response_IEs_t;
typedef struct SBcAP_Write_Replace_Warning_Indication_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_Write_Replace_Warning_Indication_IEs__value {
		SBcAP_Write_Replace_Warning_Indication_IEs__value_PR present;
		union SBcAP_Write_Replace_Warning_Indication_IEs__SBcAP_value_u {
			SBcAP_Message_Identifier_t	 Message_Identifier;
			SBcAP_Serial_Number_t	 Serial_Number;
			SBcAP_Broadcast_Scheduled_Area_List_t	 Broadcast_Scheduled_Area_List;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_Write_Replace_Warning_Indication_IEs_t;
typedef struct SBcAP_Stop_Warning_Indication_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_Stop_Warning_Indication_IEs__value {
		SBcAP_Stop_Warning_Indication_IEs__value_PR present;
		union SBcAP_Stop_Warning_Indication_IEs__SBcAP_value_u {
			SBcAP_Message_Identifier_t	 Message_Identifier;
			SBcAP_Serial_Number_t	 Serial_Number;
			SBcAP_Broadcast_Cancelled_Area_List_t	 Broadcast_Cancelled_Area_List;
			SBcAP_Broadcast_Empty_Area_List_t	 Broadcast_Empty_Area_List;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_Stop_Warning_Indication_IEs_t;
typedef struct SBcAP_PWS_Restart_Indication_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_PWS_Restart_Indication_IEs__value {
		SBcAP_PWS_Restart_Indication_IEs__value_PR present;
		union SBcAP_PWS_Restart_Indication_IEs__SBcAP_value_u {
			SBcAP_Restarted_Cell_List_t	 Restarted_Cell_List;
			SBcAP_Global_ENB_ID_t	 Global_ENB_ID;
			SBcAP_List_of_TAIs_Restart_t	 List_of_TAIs_Restart;
			SBcAP_List_of_EAIs_Restart_t	 List_of_EAIs_Restart;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_PWS_Restart_Indication_IEs_t;
typedef struct SBcAP_PWS_Failure_Indication_IEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_PWS_Failure_Indication_IEs__value {
		SBcAP_PWS_Failure_Indication_IEs__value_PR present;
		union SBcAP_PWS_Failure_Indication_IEs__SBcAP_value_u {
			SBcAP_Failed_Cell_List_t	 Failed_Cell_List;
			SBcAP_Global_ENB_ID_t	 Global_ENB_ID;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_PWS_Failure_Indication_IEs_t;
typedef struct SBcAP_ErrorIndicationIEs {
	SBcAP_ProtocolIE_ID_t	 id;
	SBcAP_Criticality_t	 criticality;
	struct SBcAP_ErrorIndicationIEs__value {
		SBcAP_ErrorIndicationIEs__value_PR present;
		union SBcAP_ErrorIndicationIEs__SBcAP_value_u {
			SBcAP_Cause_t	 Cause;
			SBcAP_Criticality_Diagnostics_t	 Criticality_Diagnostics;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SBcAP_ErrorIndicationIEs_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Request_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Request_IEs_specs_1;
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Request_IEs_1[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Response_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Response_IEs_specs_5;
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Response_IEs_5[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Request_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Request_IEs_specs_9;
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Request_IEs_9[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Response_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Response_IEs_specs_13;
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Response_IEs_13[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Write_Replace_Warning_Indication_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Write_Replace_Warning_Indication_IEs_specs_17;
extern asn_TYPE_member_t asn_MBR_SBcAP_Write_Replace_Warning_Indication_IEs_17[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_Stop_Warning_Indication_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_Stop_Warning_Indication_IEs_specs_21;
extern asn_TYPE_member_t asn_MBR_SBcAP_Stop_Warning_Indication_IEs_21[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Restart_Indication_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Restart_Indication_IEs_specs_25;
extern asn_TYPE_member_t asn_MBR_SBcAP_PWS_Restart_Indication_IEs_25[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_PWS_Failure_Indication_IEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_PWS_Failure_Indication_IEs_specs_29;
extern asn_TYPE_member_t asn_MBR_SBcAP_PWS_Failure_Indication_IEs_29[3];
extern asn_TYPE_descriptor_t asn_DEF_SBcAP_ErrorIndicationIEs;
extern asn_SEQUENCE_specifics_t asn_SPC_SBcAP_ErrorIndicationIEs_specs_33;
extern asn_TYPE_member_t asn_MBR_SBcAP_ErrorIndicationIEs_33[3];

#ifdef __cplusplus
}
#endif

#endif	/* _SBcAP_ProtocolIE_Field_H_ */
#include <asn_internal.h>
