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

#ifndef	_SABP_Number_of_Broadcasts_Requested_H_
#define	_SABP_Number_of_Broadcasts_Requested_H_


#include <asn_application.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Dependencies */
typedef enum SABP_Number_of_Broadcasts_Requested {
	SABP_Number_of_Broadcasts_Requested_broadcast_indefinitely	= 0
} e_SABP_Number_of_Broadcasts_Requested;

/* SABP_Number-of-Broadcasts-Requested */
typedef long	 SABP_Number_of_Broadcasts_Requested_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SABP_Number_of_Broadcasts_Requested;
asn_struct_free_f SABP_Number_of_Broadcasts_Requested_free;
asn_struct_print_f SABP_Number_of_Broadcasts_Requested_print;
asn_constr_check_f SABP_Number_of_Broadcasts_Requested_constraint;
ber_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_ber;
der_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_der;
xer_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_xer;
xer_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_xer;
per_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_uper;
per_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_uper;
per_type_decoder_f SABP_Number_of_Broadcasts_Requested_decode_aper;
per_type_encoder_f SABP_Number_of_Broadcasts_Requested_encode_aper;

#ifdef __cplusplus
}
#endif

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