| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | 
							- /* dat.h: include file for vblade AoE target */
 
- #define	nil	((void *)0)
 
- /*
 
-  *	tunable variables
 
-  */
 
- enum {
 
- 	VBLADE_VERSION		= 10,
 
- 	// Firmware version
 
- 	FWV			= 0x4000 + VBLADE_VERSION,
 
- };
 
- #undef major
 
- #undef minor
 
- #undef makedev
 
- #define	major(x)		((x) >> 24 & 0xFF)
 
- #define	minor(x)		((x) & 0xffffff)
 
- #define	makedev(x, y)	((x) << 24 | (y))
 
- typedef unsigned char uchar;
 
- //typedef unsigned short ushort;
 
- #ifdef __FreeBSD__
 
- typedef unsigned long ulong;
 
- #else
 
- //typedef unsigned long ulong;
 
- #endif
 
- typedef long long vlong;
 
- typedef struct Aoehdr Aoehdr;
 
- typedef struct Ata Ata;
 
- typedef struct Conf Conf;
 
- typedef struct Ataregs Ataregs;
 
- struct Ataregs
 
- {
 
- 	vlong	lba;
 
- 	uchar	cmd;
 
- 	uchar	status;
 
- 	uchar	err;
 
- 	uchar	feature;
 
- 	uchar	sectors;
 
- };
 
- struct Aoehdr
 
- {
 
- 	uchar	dst[6];
 
- 	uchar	src[6];
 
- 	ushort	type;
 
- 	uchar	flags;
 
- 	uchar	error;
 
- 	ushort	maj;
 
- 	uchar	min;
 
- 	uchar	cmd;
 
- 	uchar	tag[4];
 
- };
 
- struct Ata
 
- {
 
- 	Aoehdr	h;
 
- 	uchar	aflag;
 
- 	uchar	err;
 
- 	uchar	sectors;
 
- 	uchar	cmd;
 
- 	uchar	lba[6];
 
- 	uchar	resvd[2];
 
- 	uchar	data[1024];
 
- };
 
- struct Conf
 
- {
 
- 	Aoehdr	h;
 
- 	ushort	bufcnt;
 
- 	ushort	firmware;
 
- 	uchar	filler;
 
- 	uchar	vercmd;
 
- 	ushort	len;
 
- 	uchar	data[1024];
 
- };
 
- enum {
 
- 	AoEver = 1,
 
- 	ATAcmd = 0,		// command codes
 
- 	Config,
 
- 	Resp = (1<<3),		// flags
 
- 	Error = (1<<2),
 
- 	BadCmd = 1,
 
- 	BadArg,
 
- 	DevUnavailable,
 
- 	ConfigErr,
 
- 	BadVersion,
 
- 	Write = (1<<0),
 
- 	Async = (1<<1),
 
- 	Device = (1<<4),
 
- 	Extend = (1<<6),
 
- 	Qread = 0,
 
- 	Qtest,
 
- 	Qprefix,
 
- 	Qset,
 
- 	Qfset,
 
- 	Nretries = 3,
 
- 	Bufcount = 32,
 
- };
 
- int	shelf, slot;
 
- ulong	aoetag;
 
- uchar	mac[6];
 
- int	bfd;		// block file descriptor
 
- int	sfd;		// socket file descriptor
 
- vlong	size;		// size of vblade
 
- char	*progname;
 
 
  |