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

#ifndef	_BankId_H_
#define	_BankId_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* BankId */
typedef long	 BankId_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BankId;
asn_struct_free_f BankId_free;
asn_struct_print_f BankId_print;
asn_constr_check_f BankId_constraint;
ber_type_decoder_f BankId_decode_ber;
der_type_encoder_f BankId_encode_der;
xer_type_decoder_f BankId_decode_xer;
xer_type_encoder_f BankId_encode_xer;

#ifdef __cplusplus
}
#endif

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