#define IN_VALID 1
#define OUT_PENDING 2

enum {
	ZUMA_MBOXMSG_DONE,
	ZUMA_MBOXMSG_MACL,
	ZUMA_MBOXMSG_MACH,
	ZUMA_MBOXMSG_IP,
	ZUMA_MBOXMSG_SLOT,
	ZUMA_MBOXMSG_RESET,
	ZUMA_MBOXMSG_BAUD,
	ZUMA_MBOXMSG_START,
	ZUMA_MBOXMSG_ENG_PRV_MACL,
	ZUMA_MBOXMSG_ENG_PRV_MACH,

	MBOXMSG_LAST
};

struct zuma_mailbox_info {
	unsigned char acc_mac[6];
	unsigned char prv_mac[6];
	unsigned int ip;
	unsigned int slot_bac;
	unsigned int console_baud;
	unsigned int debug_baud;
};

struct _zuma_mbox_dev {
	pci_dev_t dev;
	PBB_DMA_REG_MAP *sip;
	struct zuma_mailbox_info mailbox;
};

#define zuma_prv_mac		zuma_mbox_dev.mailbox.prv_mac
#define zuma_acc_mac		zuma_mbox_dev.mailbox.acc_mac
#define zuma_ip                 zuma_mbox_dev.mailbox.ip
#define zuma_slot_bac		zuma_mbox_dev.mailbox.slot_bac
#define zuma_console_baud	zuma_mbox_dev.mailbox.console_baud
#define zuma_debug_baud		zuma_mbox_dev.mailbox.debug_baud


extern struct _zuma_mbox_dev zuma_mbox_dev;
extern int zuma_mbox_init (void);