/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "TCAPMessages"
 */

#ifndef	_TCAP_TCMessage_H_
#define	_TCAP_TCMessage_H_


#include <osmocom/tcap/asn_application.h>

/* Including external dependencies */
#include <osmocom/tcap/TCAP_Unidirectional.h>
#include <osmocom/tcap/TCAP_Begin.h>
#include <osmocom/tcap/TCAP_End.h>
#include <osmocom/tcap/TCAP_Continue.h>
#include <osmocom/tcap/TCAP_Abort.h>
#include <osmocom/tcap/constr_CHOICE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum TCAP_TCMessage_PR {
	TCAP_TCMessage_PR_NOTHING,	/* No components present */
	TCAP_TCMessage_PR_unidirectional,
	TCAP_TCMessage_PR_begin,
	TCAP_TCMessage_PR_end,
	TCAP_TCMessage_PR_continue,
	TCAP_TCMessage_PR_abort
} TCAP_TCMessage_PR;

/* TCAP_TCMessage */
typedef struct TCAP_TCMessage {
	TCAP_TCMessage_PR present;
	union TCAP_TCMessage_u {
		TCAP_Unidirectional_t	 unidirectional;
		TCAP_Begin_t	 begin;
		TCAP_End_t	 end;
		TCAP_Continue_t	 Continue;
		TCAP_Abort_t	 abort;
	} choice;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} TCAP_TCMessage_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_TCAP_TCMessage;

#ifdef __cplusplus
}
#endif

#endif	/* _TCAP_TCMessage_H_ */
#include <osmocom/tcap/asn_internal.h>
