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

#ifndef	_RUA_Ansi_41_IDNNS_H_
#define	_RUA_Ansi_41_IDNNS_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* RUA_Ansi-41-IDNNS */
typedef BIT_STRING_t	 RUA_Ansi_41_IDNNS_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_RUA_Ansi_41_IDNNS;
asn_struct_free_f RUA_Ansi_41_IDNNS_free;
asn_struct_print_f RUA_Ansi_41_IDNNS_print;
asn_constr_check_f RUA_Ansi_41_IDNNS_constraint;
ber_type_decoder_f RUA_Ansi_41_IDNNS_decode_ber;
der_type_encoder_f RUA_Ansi_41_IDNNS_encode_der;
xer_type_decoder_f RUA_Ansi_41_IDNNS_decode_xer;
xer_type_encoder_f RUA_Ansi_41_IDNNS_encode_xer;
per_type_decoder_f RUA_Ansi_41_IDNNS_decode_uper;
per_type_encoder_f RUA_Ansi_41_IDNNS_encode_uper;
per_type_decoder_f RUA_Ansi_41_IDNNS_decode_aper;
per_type_encoder_f RUA_Ansi_41_IDNNS_encode_aper;

#ifdef __cplusplus
}
#endif

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