FreeBSD/Linux Kernel Cross Reference
sys/port/aoe.h
1 /*
2 * ATA-over-Ethernet (AoE) protocol
3 */
4 enum {
5 ACata,
6 ACconfig,
7 };
8
9 enum {
10 AQCread,
11 AQCtest,
12 AQCprefix,
13 AQCset,
14 AQCfset,
15 };
16
17 enum {
18 AEcmd = 1,
19 AEarg,
20 AEdev,
21 AEcfg,
22 AEver,
23 };
24
25 enum {
26 Aoetype = 0x88a2,
27 Aoesectsz = 512, /* standard sector size */
28 Aoever = 1,
29
30 AFerr = 1<<2,
31 AFrsp = 1<<3,
32
33 AAFwrite= 1,
34 AAFext = 1<<6,
35 };
36
37 typedef struct {
38 uchar dst[Eaddrlen];
39 uchar src[Eaddrlen];
40 uchar type[2];
41 uchar verflag;
42 uchar error;
43 uchar major[2];
44 uchar minor;
45 uchar cmd;
46 uchar tag[4];
47 uchar payload[];
48 } Aoehdr;
49
50 #define AOEHDRSZ offsetof(Aoehdr, payload[0])
51
52 typedef struct {
53 Aoehdr;
54 uchar aflag;
55 uchar errfeat;
56 uchar scnt;
57 uchar cmdstat;
58 uchar lba[6];
59 uchar res[2];
60 uchar payload[];
61 } Aoeata;
62
63 #define AOEATASZ offsetof(Aoeata, payload[0])
64
65 typedef struct {
66 Aoehdr;
67 uchar bufcnt[2];
68 uchar fwver[2];
69 uchar scnt;
70 uchar verccmd;
71 uchar cslen[2];
72 uchar payload[];
73 } Aoeqc;
74
75 #define AOEQCSZ offsetof(Aoeqc, payload[0])
76
77 extern char Echange[];
78 extern char Enotup[];
Cache object: 42358ab1b042c10f387ea7eb340c904a
|