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

#ifndef	_SABP_Message_Identifier_H_
#define	_SABP_Message_Identifier_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* SABP_Message-Identifier */
typedef BIT_STRING_t	 SABP_Message_Identifier_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SABP_Message_Identifier;
asn_struct_free_f SABP_Message_Identifier_free;
asn_struct_print_f SABP_Message_Identifier_print;
asn_constr_check_f SABP_Message_Identifier_constraint;
ber_type_decoder_f SABP_Message_Identifier_decode_ber;
der_type_encoder_f SABP_Message_Identifier_encode_der;
xer_type_decoder_f SABP_Message_Identifier_decode_xer;
xer_type_encoder_f SABP_Message_Identifier_encode_xer;
per_type_decoder_f SABP_Message_Identifier_decode_uper;
per_type_encoder_f SABP_Message_Identifier_encode_uper;
per_type_decoder_f SABP_Message_Identifier_decode_aper;
per_type_encoder_f SABP_Message_Identifier_encode_aper;

#ifdef __cplusplus
}
#endif

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