/*
 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
 * From ASN.1 module "HNBAP-IEs"
 * 	found in "../../asn1/hnbap/HNBAP-IEs.asn"
 * 	`asn1c -gen-PER`
 */

#ifndef	_PTMSI_H_
#define	_PTMSI_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* PTMSI */
typedef BIT_STRING_t	 PTMSI_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_PTMSI;
asn_struct_free_f PTMSI_free;
asn_struct_print_f PTMSI_print;
asn_constr_check_f PTMSI_constraint;
ber_type_decoder_f PTMSI_decode_ber;
der_type_encoder_f PTMSI_encode_der;
xer_type_decoder_f PTMSI_decode_xer;
xer_type_encoder_f PTMSI_encode_xer;
per_type_decoder_f PTMSI_decode_uper;
per_type_encoder_f PTMSI_encode_uper;
per_type_decoder_f PTMSI_decode_aper;
per_type_encoder_f PTMSI_encode_aper;

#ifdef __cplusplus
}
#endif

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