First draft of iSCSI protocol support. Is capable of retrieving disk
[people/andreif/gpxe.git] / src / include / gpxe / scsi.h
1 #ifndef _SCSI_H
2 #define _SCSI_H
3
4 #include <stdint.h>
5
6 struct scsi_cdb_read_10 {
7         /** Opcode */
8         uint8_t opcode;
9         /** Flags */
10         uint8_t flags;
11         /** Start address
12          *
13          * This is a logical block number, in big-endian order.
14          */
15         uint32_t lba;
16         /** Group number */
17         uint8_t group;
18         /** Transfer length
19          *
20          * This is a logical block count.
21          */
22         uint16_t len;
23         /** Control byte */
24         uint8_t control;
25 } __attribute__ (( packed ));
26
27 #define SCSI_OPCODE_READ_10 0x28
28
29 union scsi_cdb {
30         struct scsi_cdb_read_10 read_10;
31         char bytes[16];
32 };
33
34 #endif /* _SCSI_H */