1
2 """ATA over Ethernet ATA command"""
3 from __future__ import print_function
4 from __future__ import absolute_import
5
6 from . import dpkt
7
8 ATA_DEVICE_IDENTIFY = 0xec
9
10
12 """ATA over Ethernet ATA command.
13
14 See more about the AOEATA on \
15 https://en.wikipedia.org/wiki/ATA_over_Ethernet
16
17 Attributes:
18 __hdr__: Header fields of AOEATA.
19 data: Message data.
20 """
21
22 __hdr__ = (
23 ('aflags', 'B', 0),
24 ('errfeat', 'B', 0),
25 ('scnt', 'B', 0),
26 ('cmdstat', 'B', ATA_DEVICE_IDENTIFY),
27 ('lba0', 'B', 0),
28 ('lba1', 'B', 0),
29 ('lba2', 'B', 0),
30 ('lba3', 'B', 0),
31 ('lba4', 'B', 0),
32 ('lba5', 'B', 0),
33 ('res', 'H', 0),
34 )
35
36
37
38
40 s = b'\x03\x0a\x6b\x19\x00\x00\x00\x00\x45\x00\x00\x28\x94\x1f\x00\x00\xe3\x06\x99\xb4\x23\x2b\x24\x00\xde\x8e\x84\x42\xab\xd1\x00\x50\x00\x35\xe1\x29\x20\xd9\x00\x00\x00\x22\x9b\xf0\xe2\x04\x65\x6b'
41 aoeata = AOEATA(s)
42 assert (bytes(aoeata) == s)
43
44
45 if __name__ == '__main__':
46 test_aoeata()
47 print('Tests Successful...')
48