/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "E2AP-IEs"
 * 	found in "e2ap-oran-wg3-v01.00.asn"
 * 	`asn1c -fno-include-deps -fcompound-names -findirect-choice -gen-PER -no-gen-OER`
 */

#ifndef	_RICcontrolHeader_H_
#define	_RICcontrolHeader_H_


#include <asn_application.h>

/* Including external dependencies */
#include <OCTET_STRING.h>

#ifdef __cplusplus
extern "C" {
#endif

/* RICcontrolHeader */
typedef OCTET_STRING_t	 RICcontrolHeader_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RICcontrolHeader;
asn_struct_free_f RICcontrolHeader_free;
asn_struct_print_f RICcontrolHeader_print;
asn_constr_check_f RICcontrolHeader_constraint;
ber_type_decoder_f RICcontrolHeader_decode_ber;
der_type_encoder_f RICcontrolHeader_encode_der;
xer_type_decoder_f RICcontrolHeader_decode_xer;
xer_type_encoder_f RICcontrolHeader_encode_xer;
per_type_decoder_f RICcontrolHeader_decode_uper;
per_type_encoder_f RICcontrolHeader_encode_uper;
per_type_decoder_f RICcontrolHeader_decode_aper;
per_type_encoder_f RICcontrolHeader_encode_aper;

#ifdef __cplusplus
}
#endif

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