]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/port/aoe.h
devproc: remove pgrpid == 1 check for notepg open
[plan9front.git] / sys / src / 9 / port / aoe.h
1 enum {
2         ACata,
3         ACconfig,
4         ACmask,
5         ACres,
6 };
7
8 enum {
9         AQCread,
10         AQCtest,
11         AQCprefix,
12         AQCset,
13         AQCfset,
14 };
15
16 enum {
17         AEunk,
18         AEcmd,                          /* bad command */
19         AEarg,                          /* bad argument */
20         AEoff,                          /* device offline */
21         AEcfg,                          /* config string already set */
22         AEver,                          /* unsupported version */
23         AEres,                          /* target reserved */
24 };
25
26 enum {
27         /* mask commands */
28         Mread           = 0,
29         Medit,
30
31         /* mask directives */
32         MDnop           = 0,
33         MDadd,
34         MDdel,
35
36         /* mask errors */
37         MEunk           = 1,
38         MEbad,
39         MEfull,
40
41         /* reserve / release */
42         Rrread          = 0,
43         Rrset,
44         Rrforce,
45 };
46
47 enum {
48         Aoetype         = 0x88a2,
49         Aoesectsz       = 512,
50         Aoemaxcfg       = 1024,
51
52         Aoehsz          = 24,
53         Aoeatasz        = 12,
54         Aoecfgsz                = 8,
55         Aoerrsz         = 2,
56         Aoemsz          = 4,
57         Aoemdsz = 8,
58
59         Aoever          = 1,
60
61         AFerr           = 1<<2,
62         AFrsp           = 1<<3,
63
64         AAFwrite        = 1,
65         AAFext          = 1<<6,
66 };
67
68 typedef struct {
69         uchar   dst[Eaddrlen];
70         uchar   src[Eaddrlen];
71         uchar   type[2];
72         uchar   verflag;
73         uchar   error;
74         uchar   major[2];
75         uchar   minor;
76         uchar   cmd;
77         uchar   tag[4];
78 } Aoehdr;
79
80 typedef struct {
81         uchar   aflag;
82         uchar   errfeat;
83         uchar   scnt;
84         uchar   cmdstat;
85         uchar   lba[6];
86         uchar   res[2];
87 } Aoeata;
88
89 typedef struct {
90         uchar   bufcnt[2];
91         uchar   fwver[2];
92         uchar   scnt;
93         uchar   verccmd;
94         uchar   cslen[2];
95 } Aoecfg;
96
97 typedef struct {
98         uchar   dres;
99         uchar   dcmd;
100         uchar   ea[Eaddrlen];
101 } Aoemd;
102
103 typedef struct {
104         uchar   mres;
105         uchar   mcmd;
106         uchar   merr;
107         uchar   mcnt;
108 } Aoem;
109
110 typedef struct {
111         uchar   rcmd;
112         uchar   nea;
113         uchar   ea0[];
114 } Aoerr;
115
116 extern char Echange[];
117 extern char Enotup[];