/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "E2SM-RC-IEs"
 * 	found in "e2sm-rc-nov2021.asn"
 * 	`asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
 */

#ifndef	_IndexToRFSP_H_
#define	_IndexToRFSP_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* IndexToRFSP */
typedef long	 IndexToRFSP_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_IndexToRFSP;
asn_struct_free_f IndexToRFSP_free;
asn_struct_print_f IndexToRFSP_print;
asn_constr_check_f IndexToRFSP_constraint;
ber_type_decoder_f IndexToRFSP_decode_ber;
der_type_encoder_f IndexToRFSP_encode_der;
xer_type_decoder_f IndexToRFSP_decode_xer;
xer_type_encoder_f IndexToRFSP_encode_xer;
oer_type_decoder_f IndexToRFSP_decode_oer;
oer_type_encoder_f IndexToRFSP_encode_oer;
per_type_decoder_f IndexToRFSP_decode_uper;
per_type_encoder_f IndexToRFSP_encode_uper;
per_type_decoder_f IndexToRFSP_decode_aper;
per_type_encoder_f IndexToRFSP_encode_aper;

#ifdef __cplusplus
}
#endif

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