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

#ifndef	_RANAP_ProtocolExtensionContainer_H_
#define	_RANAP_ProtocolExtensionContainer_H_


#include <asn_application.h>

/* Including external dependencies */
#include "RANAP_ProtocolExtensionField.h"
#include <asn_SEQUENCE_OF.h>
#include <constr_SEQUENCE_OF.h>

#ifdef __cplusplus
extern "C" {
#endif

/* RANAP_ProtocolExtensionContainer */
typedef struct RANAP_ProtocolExtensionContainer {
	A_SEQUENCE_OF(RANAP_ProtocolExtensionField_t) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} RANAP_ProtocolExtensionContainer_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RANAP_ProtocolExtensionContainer;

#ifdef __cplusplus
}
#endif

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