diff --git a/headers/private/drivers/ide_types.h b/headers/private/drivers/ide_types.h
index 3d4acaa..e5b051b 100644
a
|
b
|
|
10 | 10 | #include <lendian_bitfield.h> |
11 | 11 | |
12 | 12 | |
| 13 | |
13 | 14 | // IDE task file. |
14 | 15 | // contains the command block interpreted under different conditions with |
15 | 16 | // first byte being first command register, second byte second command register |
… |
… |
union ide_task_file {
|
24 | 25 | uint8 sector_number; |
25 | 26 | uint8 cylinder_0_7; |
26 | 27 | uint8 cylinder_8_15; |
27 | | LBITFIELD8_3( |
| 28 | B_LBITFIELD8_3( |
28 | 29 | head : 4, |
29 | 30 | device : 1, |
30 | 31 | mode : 3 |
… |
… |
union ide_task_file {
|
37 | 38 | uint8 lba_0_7; |
38 | 39 | uint8 lba_8_15; |
39 | 40 | uint8 lba_16_23; |
40 | | LBITFIELD8_3( |
| 41 | B_LBITFIELD8_3( |
41 | 42 | lba_24_27 : 4, |
42 | 43 | device : 1, |
43 | 44 | mode : 3 |
… |
… |
union ide_task_file {
|
45 | 46 | uint8 command; |
46 | 47 | } lba; |
47 | 48 | struct { |
48 | | LBITFIELD8_3( |
| 49 | B_LBITFIELD8_3( |
49 | 50 | dma : 1, |
50 | 51 | ovl : 1, |
51 | 52 | _0_res2 : 6 |
52 | 53 | ); |
53 | | LBITFIELD8_2( |
| 54 | B_LBITFIELD8_2( |
54 | 55 | _1_res0 : 3, |
55 | 56 | tag : 5 |
56 | 57 | ); |
57 | 58 | uint8 _2_res; |
58 | 59 | uint8 byte_count_0_7; |
59 | 60 | uint8 byte_count_8_15; |
60 | | LBITFIELD8_6( |
| 61 | B_LBITFIELD8_6( |
61 | 62 | lun : 3, |
62 | 63 | _5_res3 : 1, |
63 | 64 | device : 1, |
… |
… |
union ide_task_file {
|
68 | 69 | uint8 command; |
69 | 70 | } packet; |
70 | 71 | struct { |
71 | | LBITFIELD8_5( |
| 72 | B_LBITFIELD8_5( |
72 | 73 | ili : 1, |
73 | 74 | eom : 1, |
74 | 75 | abrt : 1, |
75 | 76 | _0_res3 : 1, |
76 | 77 | sense_key : 4 |
77 | 78 | ); |
78 | | LBITFIELD8_4( |
| 79 | B_LBITFIELD8_4( |
79 | 80 | cmd_or_data : 1, // 1 - cmd, 0 - data |
80 | 81 | input_or_output : 1, // 0 - input (to device), 1 - output |
81 | 82 | release : 1, |
… |
… |
union ide_task_file {
|
84 | 85 | uint8 _2_res; |
85 | 86 | uint8 byte_count_0_7; |
86 | 87 | uint8 byte_count_8_15; |
87 | | LBITFIELD8_5( |
| 88 | B_LBITFIELD8_5( |
88 | 89 | _4_res0 : 4, |
89 | 90 | device : 1, |
90 | 91 | _4_obs5 : 1, |
91 | 92 | _4_res6 : 1, |
92 | 93 | _4_obs7 : 1 |
93 | 94 | ); |
94 | | LBITFIELD8_7( |
| 95 | B_LBITFIELD8_7( |
95 | 96 | chk : 1, |
96 | 97 | _7_res1 : 2, |
97 | 98 | drq : 1, |
… |
… |
union ide_task_file {
|
103 | 104 | } packet_res; |
104 | 105 | struct { |
105 | 106 | uint8 sector_count; |
106 | | LBITFIELD8_4( // only <tag> is defined for write |
| 107 | B_LBITFIELD8_4( // only <tag> is defined for write |
107 | 108 | cmd_or_data : 1, // 1 - cmd, 0 - data |
108 | 109 | input_or_output : 1, // 0 - input (to device), 1 - output |
109 | 110 | release : 1, |
… |
… |
union ide_task_file {
|
112 | 113 | uint8 lba_0_7; |
113 | 114 | uint8 lba_8_15; |
114 | 115 | uint8 lba_16_23; |
115 | | LBITFIELD8_3( |
| 116 | B_LBITFIELD8_3( |
116 | 117 | lba_24_27 : 4, |
117 | 118 | device : 1, |
118 | 119 | mode : 3 |
… |
… |
union ide_task_file {
|
126 | 127 | uint8 lba_0_7; |
127 | 128 | uint8 lba_8_15; |
128 | 129 | uint8 lba_16_23; |
129 | | LBITFIELD8_3( |
| 130 | B_LBITFIELD8_3( |
130 | 131 | _5low_res0 : 4, |
131 | 132 | device : 1, |
132 | 133 | mode : 3 |
… |
… |
union ide_task_file {
|
143 | 144 | struct { |
144 | 145 | // low order bytes |
145 | 146 | uint8 sector_count_0_7; |
146 | | LBITFIELD8_4( |
| 147 | B_LBITFIELD8_4( |
147 | 148 | cmd_or_data : 1, // 1 - cmd, 0 - data |
148 | 149 | input_or_output : 1, // 0 - input (to device), 1 - output |
149 | 150 | release : 1, |
… |
… |
union ide_task_file {
|
152 | 153 | uint8 lba_0_7; |
153 | 154 | uint8 lba_8_15; |
154 | 155 | uint8 lba_16_23; |
155 | | LBITFIELD8_3( |
| 156 | B_LBITFIELD8_3( |
156 | 157 | _5low_res0 : 4, |
157 | 158 | device : 1, |
158 | 159 | mode : 3 |
… |
… |
union ide_task_file {
|
169 | 170 | struct { |
170 | 171 | uint8 _0_res[3]; |
171 | 172 | uint8 ver; // RMSN version |
172 | | LBITFIELD8_3( |
| 173 | B_LBITFIELD8_3( |
173 | 174 | pena : 1, // previously enabled |
174 | 175 | lock : 1, // capable of locking |
175 | 176 | pej : 1 // can physically eject |