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

#ifndef	_OperationTag_H_
#define	_OperationTag_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* OperationTag */
typedef long	 OperationTag_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_OperationTag;
asn_struct_free_f OperationTag_free;
asn_struct_print_f OperationTag_print;
asn_constr_check_f OperationTag_constraint;
ber_type_decoder_f OperationTag_decode_ber;
der_type_encoder_f OperationTag_encode_der;
xer_type_decoder_f OperationTag_decode_xer;
xer_type_encoder_f OperationTag_encode_xer;

#ifdef __cplusplus
}
#endif

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