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

#ifndef	_SABP_InitiatingMessage_H_
#define	_SABP_InitiatingMessage_H_


#include <asn_application.h>

/* Including external dependencies */
#include <osmocom/sabp/SABP_ProcedureCode.h>
#include <osmocom/sabp/SABP_Criticality.h>
#include <ANY.h>
#include <constr_SEQUENCE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* SABP_InitiatingMessage */
typedef struct SABP_InitiatingMessage {
	SABP_ProcedureCode_t	 procedureCode;
	SABP_Criticality_t	 criticality;
	ANY_t	 value;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} SABP_InitiatingMessage_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SABP_InitiatingMessage;

#ifdef __cplusplus
}
#endif

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