/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "E2SM-gNB-X2-IEs"
 * 	found in "Spec/e2ap-v031ex.asn"
 * 	`asn1c -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
 */

#ifndef	_InterfaceMessage_H_
#define	_InterfaceMessage_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* InterfaceMessage */
typedef OCTET_STRING_t	 InterfaceMessage_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_InterfaceMessage;
asn_struct_free_f InterfaceMessage_free;
asn_struct_print_f InterfaceMessage_print;
asn_constr_check_f InterfaceMessage_constraint;
ber_type_decoder_f InterfaceMessage_decode_ber;
der_type_encoder_f InterfaceMessage_encode_der;
xer_type_decoder_f InterfaceMessage_decode_xer;
xer_type_encoder_f InterfaceMessage_encode_xer;
oer_type_decoder_f InterfaceMessage_decode_oer;
oer_type_encoder_f InterfaceMessage_encode_oer;
per_type_decoder_f InterfaceMessage_decode_uper;
per_type_encoder_f InterfaceMessage_encode_uper;
per_type_decoder_f InterfaceMessage_decode_aper;
per_type_encoder_f InterfaceMessage_encode_aper;

#ifdef __cplusplus
}
#endif

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