#ifndef __XDSL_CTRL_ERB_H__
#define __XDSL_CTRL_ERB_H__

#ifndef WAITING
#define	WAITING			0
#endif
#ifndef RUNNING
#define	RUNNING			1
#endif

//#define ERB_DEBUG

#ifdef ERB_DEBUG
extern int erb_debug;
#define erb_printk(fmt, args...) 	if (erb_debug) printk("[%s] " fmt, __func__, ## args)
#define erb_dump_ctrlp(p) 		dump_ctrlp(p)
#define erb_dump_rxbuf(b, l) 		dump_rxbuf(b, l)
#else
#define erb_printk(fmt, args...) 
#define erb_dump_ctrlp(p)
#define erb_dump_rxbuf(b, l)
#endif

#if defined(CONFIG_PTM_BONDING_MASTER)
extern void re865x_send_slave_ERB(unsigned char *buf, int len);
#endif

#if defined(CONFIG_PTM_BONDING_SLAVE)
typedef struct ERB_header 
{
	unsigned char VCE_macaddr[6];
	unsigned char VTU_R_macaddr[6];
	unsigned char length[2];
	
	unsigned char LLC_header[3];
	unsigned char ITU_T[3];
	unsigned char protocol_id[2];

	unsigned char line_id[2];
	unsigned char sync_sumbol_count[2];
	unsigned char segment_code;
}ERB_header_t;
#endif

extern void erbTester_proc_init(void);

#endif