/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "S1AP-IEs"
 * 	found in "./asn1c/S1AP-IEs.asn"
 * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
 */

#ifndef	_UL_NAS_MAC_H_
#define	_UL_NAS_MAC_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* UL-NAS-MAC */
typedef BIT_STRING_t	 UL_NAS_MAC_t;

/* Implementation */
extern asn_per_constraints_t asn_PER_type_UL_NAS_MAC_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_UL_NAS_MAC;
asn_struct_free_f UL_NAS_MAC_free;
asn_struct_print_f UL_NAS_MAC_print;
asn_constr_check_f UL_NAS_MAC_constraint;
ber_type_decoder_f UL_NAS_MAC_decode_ber;
der_type_encoder_f UL_NAS_MAC_encode_der;
xer_type_decoder_f UL_NAS_MAC_decode_xer;
xer_type_encoder_f UL_NAS_MAC_encode_xer;
oer_type_decoder_f UL_NAS_MAC_decode_oer;
oer_type_encoder_f UL_NAS_MAC_encode_oer;
per_type_decoder_f UL_NAS_MAC_decode_uper;
per_type_encoder_f UL_NAS_MAC_encode_uper;
per_type_decoder_f UL_NAS_MAC_decode_aper;
per_type_encoder_f UL_NAS_MAC_encode_aper;

#ifdef __cplusplus
}
#endif

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