/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "SGP32Definitions"
 * 	found in "../../../asn1/SGP32Definitions.asn"
 * 	`asn1c -fcompound-names -no-gen-example`
 */

#ifndef	_EsipaMessageFromIpaToEim_H_
#define	_EsipaMessageFromIpaToEim_H_


#include <asn_application.h>

/* Including external dependencies */
#include "InitiateAuthenticationRequestEsipa.h"
#include "AuthenticateClientRequestEsipa.h"
#include "GetBoundProfilePackageRequestEsipa.h"
#include "CancelSessionRequestEsipa.h"
#include "HandleNotificationEsipa.h"
#include "TransferEimPackageResponse.h"
#include "GetEimPackageRequest.h"
#include "ProvideEimPackageResult.h"
#include <constr_CHOICE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum EsipaMessageFromIpaToEim_PR {
	EsipaMessageFromIpaToEim_PR_NOTHING,	/* No components present */
	EsipaMessageFromIpaToEim_PR_initiateAuthenticationRequestEsipa,
	EsipaMessageFromIpaToEim_PR_authenticateClientRequestEsipa,
	EsipaMessageFromIpaToEim_PR_getBoundProfilePackageRequestEsipa,
	EsipaMessageFromIpaToEim_PR_cancelSessionRequestEsipa,
	EsipaMessageFromIpaToEim_PR_handleNotificationEsipa,
	EsipaMessageFromIpaToEim_PR_transferEimPackageResponse,
	EsipaMessageFromIpaToEim_PR_getEimPackageRequest,
	EsipaMessageFromIpaToEim_PR_provideEimPackageResult
	/* Extensions may appear below */
	
} EsipaMessageFromIpaToEim_PR;

/* EsipaMessageFromIpaToEim */
typedef struct EsipaMessageFromIpaToEim {
	EsipaMessageFromIpaToEim_PR present;
	union EsipaMessageFromIpaToEim_u {
		InitiateAuthenticationRequestEsipa_t	 initiateAuthenticationRequestEsipa;
		AuthenticateClientRequestEsipa_t	 authenticateClientRequestEsipa;
		GetBoundProfilePackageRequestEsipa_t	 getBoundProfilePackageRequestEsipa;
		CancelSessionRequestEsipa_t	 cancelSessionRequestEsipa;
		HandleNotificationEsipa_t	 handleNotificationEsipa;
		TransferEimPackageResponse_t	 transferEimPackageResponse;
		GetEimPackageRequest_t	 getEimPackageRequest;
		ProvideEimPackageResult_t	 provideEimPackageResult;
		/*
		 * This type is extensible,
		 * possible extensions are below.
		 */
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} EsipaMessageFromIpaToEim_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_EsipaMessageFromIpaToEim;

#ifdef __cplusplus
}
#endif

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