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

#ifndef	_Ipv4Address_H_
#define	_Ipv4Address_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Ipv4Address */
typedef OCTET_STRING_t	 Ipv4Address_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_Ipv4Address;
asn_struct_free_f Ipv4Address_free;
asn_struct_print_f Ipv4Address_print;
asn_constr_check_f Ipv4Address_constraint;
ber_type_decoder_f Ipv4Address_decode_ber;
der_type_encoder_f Ipv4Address_encode_der;
xer_type_decoder_f Ipv4Address_decode_xer;
xer_type_encoder_f Ipv4Address_encode_xer;

#ifdef __cplusplus
}
#endif

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