/*
 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
 * From ASN.1 module "RSPRO"
 * 	found in "../../asn1/RSPRO.asn"
 */

#ifndef	_RsproPDUchoice_H_
#define	_RsproPDUchoice_H_


#include <asn_application.h>

/* Including external dependencies */
#include <osmocom/rspro/ConnectBankReq.h>
#include <osmocom/rspro/ConnectBankRes.h>
#include <osmocom/rspro/ConnectClientReq.h>
#include <osmocom/rspro/ConnectClientRes.h>
#include <osmocom/rspro/CreateMappingReq.h>
#include <osmocom/rspro/CreateMappingRes.h>
#include <osmocom/rspro/RemoveMappingReq.h>
#include <osmocom/rspro/RemoveMappingRes.h>
#include <osmocom/rspro/ConfigClientIdReq.h>
#include <osmocom/rspro/ConfigClientIdRes.h>
#include <osmocom/rspro/ConfigClientBankReq.h>
#include <osmocom/rspro/ConfigClientBankRes.h>
#include <osmocom/rspro/ErrorInd.h>
#include <osmocom/rspro/ResetStateReq.h>
#include <osmocom/rspro/ResetStateRes.h>
#include <osmocom/rspro/SetAtrReq.h>
#include <osmocom/rspro/SetAtrRes.h>
#include <osmocom/rspro/TpduModemToCard.h>
#include <osmocom/rspro/TpduCardToModem.h>
#include <osmocom/rspro/ClientSlotStatusInd.h>
#include <osmocom/rspro/BankSlotStatusInd.h>
#include <constr_CHOICE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum RsproPDUchoice_PR {
	RsproPDUchoice_PR_NOTHING,	/* No components present */
	RsproPDUchoice_PR_connectBankReq,
	RsproPDUchoice_PR_connectBankRes,
	RsproPDUchoice_PR_connectClientReq,
	RsproPDUchoice_PR_connectClientRes,
	RsproPDUchoice_PR_createMappingReq,
	RsproPDUchoice_PR_createMappingRes,
	RsproPDUchoice_PR_removeMappingReq,
	RsproPDUchoice_PR_removeMappingRes,
	RsproPDUchoice_PR_configClientIdReq,
	RsproPDUchoice_PR_configClientIdRes,
	RsproPDUchoice_PR_configClientBankReq,
	RsproPDUchoice_PR_configClientBankRes,
	RsproPDUchoice_PR_errorInd,
	RsproPDUchoice_PR_resetStateReq,
	RsproPDUchoice_PR_resetStateRes,
	RsproPDUchoice_PR_setAtrReq,
	RsproPDUchoice_PR_setAtrRes,
	RsproPDUchoice_PR_tpduModemToCard,
	RsproPDUchoice_PR_tpduCardToModem,
	RsproPDUchoice_PR_clientSlotStatusInd,
	RsproPDUchoice_PR_bankSlotStatusInd,
	/* Extensions may appear below */
	
} RsproPDUchoice_PR;

/* RsproPDUchoice */
typedef struct RsproPDUchoice {
	RsproPDUchoice_PR present;
	union RsproPDUchoice_u {
		ConnectBankReq_t	 connectBankReq;
		ConnectBankRes_t	 connectBankRes;
		ConnectClientReq_t	 connectClientReq;
		ConnectClientRes_t	 connectClientRes;
		CreateMappingReq_t	 createMappingReq;
		CreateMappingRes_t	 createMappingRes;
		RemoveMappingReq_t	 removeMappingReq;
		RemoveMappingRes_t	 removeMappingRes;
		ConfigClientIdReq_t	 configClientIdReq;
		ConfigClientIdRes_t	 configClientIdRes;
		ConfigClientBankReq_t	 configClientBankReq;
		ConfigClientBankRes_t	 configClientBankRes;
		ErrorInd_t	 errorInd;
		ResetStateReq_t	 resetStateReq;
		ResetStateRes_t	 resetStateRes;
		SetAtrReq_t	 setAtrReq;
		SetAtrRes_t	 setAtrRes;
		TpduModemToCard_t	 tpduModemToCard;
		TpduCardToModem_t	 tpduCardToModem;
		ClientSlotStatusInd_t	 clientSlotStatusInd;
		BankSlotStatusInd_t	 bankSlotStatusInd;
		/*
		 * This type is extensible,
		 * possible extensions are below.
		 */
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} RsproPDUchoice_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RsproPDUchoice;

#ifdef __cplusplus
}
#endif

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