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

#ifndef	_TCAP_Reject_H_
#define	_TCAP_Reject_H_


#include <osmocom/tcap/asn_application.h>

/* Including external dependencies */
#include <osmocom/tcap/TCAP_InvokeIdType.h>
#include <osmocom/tcap/NULL.h>
#include <osmocom/tcap/constr_CHOICE.h>
#include <osmocom/tcap/TCAP_GeneralProblem.h>
#include <osmocom/tcap/TCAP_InvokeProblem.h>
#include <osmocom/tcap/TCAP_ReturnResultProblem.h>
#include <osmocom/tcap/TCAP_ReturnErrorProblem.h>
#include <osmocom/tcap/constr_SEQUENCE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum TCAP_Reject__invokeIDRej_PR {
	TCAP_Reject__invokeIDRej_PR_NOTHING,	/* No components present */
	TCAP_Reject__invokeIDRej_PR_derivable,
	TCAP_Reject__invokeIDRej_PR_not_derivable
} TCAP_Reject__invokeIDRej_PR;
typedef enum TCAP_Reject__problem_PR {
	TCAP_Reject__problem_PR_NOTHING,	/* No components present */
	TCAP_Reject__problem_PR_generalProblem,
	TCAP_Reject__problem_PR_invokeProblem,
	TCAP_Reject__problem_PR_returnResultProblem,
	TCAP_Reject__problem_PR_returnErrorProblem
} TCAP_Reject__problem_PR;

/* TCAP_Reject */
typedef struct TCAP_Reject {
	struct TCAP_Reject__invokeIDRej {
		TCAP_Reject__invokeIDRej_PR present;
		union TCAP_Reject__TCAP_invokeIDRej_u {
			TCAP_InvokeIdType_t	 derivable;
			NULL_t	 not_derivable;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} invokeIDRej;
	struct TCAP_Reject__problem {
		TCAP_Reject__problem_PR present;
		union TCAP_Reject__TCAP_problem_u {
			TCAP_GeneralProblem_t	 generalProblem;
			TCAP_InvokeProblem_t	 invokeProblem;
			TCAP_ReturnResultProblem_t	 returnResultProblem;
			TCAP_ReturnErrorProblem_t	 returnErrorProblem;
		} choice;
		
		/* Context for parsing across buffer boundaries */
		asn_struct_ctx_t _asn_ctx;
	} problem;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} TCAP_Reject_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_TCAP_Reject;
extern asn_SEQUENCE_specifics_t asn_SPC_TCAP_Reject_specs_1;
extern asn_TYPE_member_t asn_MBR_TCAP_Reject_1[2];

#ifdef __cplusplus
}
#endif

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