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

#ifndef	_RANAP_GlobalRNC_ID_H_
#define	_RANAP_GlobalRNC_ID_H_


#include <asn_application.h>

/* Including external dependencies */
#include <osmocom/ranap/RANAP_PLMNidentity.h>
#include <osmocom/ranap/RANAP_RNC-ID.h>
#include <constr_SEQUENCE.h>

#ifdef __cplusplus
extern "C" {
#endif

/* RANAP_GlobalRNC-ID */
typedef struct RANAP_GlobalRNC_ID {
	RANAP_PLMNidentity_t	 pLMNidentity;
	RANAP_RNC_ID_t	 rNC_ID;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} RANAP_GlobalRNC_ID_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RANAP_GlobalRNC_ID;

#ifdef __cplusplus
}
#endif

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