22 #define EDD_BUS_TYPE_FIXED( a, b, c, d, ... ) \ 23 ( ( (a) << 0 ) | ( (b) << 8 ) | ( (c) << 16 ) | ( (d) << 24 ) ) 24 #define EDD_BUS_TYPE( ... ) \ 25 EDD_BUS_TYPE_FIXED ( __VA_ARGS__, ' ', ' ', ' ', ' ' ) 27 #define EDD_BUS_TYPE_PCI EDD_BUS_TYPE ( 'P', 'C', 'I' ) 29 #define EDD_BUS_TYPE_ISA EDD_BUS_TYPE ( 'I', 'S', 'A' ) 31 #define EDD_BUS_TYPE_PCIX EDD_BUS_TYPE ( 'P', 'C', 'I', 'X' ) 33 #define EDD_BUS_TYPE_IBND EDD_BUS_TYPE ( 'I', 'B', 'N', 'D' ) 35 #define EDD_BUS_TYPE_XPRS EDD_BUS_TYPE ( 'X', 'P', 'R', 'S' ) 37 #define EDD_BUS_TYPE_HTPT EDD_BUS_TYPE ( 'H', 'T', 'P', 'T' ) 46 #define EDD_INTF_TYPE_FIXED( a, b, c, d, e, f, g, h, ... ) \ 47 ( ( ( ( uint64_t ) (a) ) << 0 ) | ( ( ( uint64_t ) (b) ) << 8 ) | \ 48 ( ( ( uint64_t ) (c) ) << 16 ) | ( ( ( uint64_t ) (d) ) << 24 ) | \ 49 ( ( ( uint64_t ) (e) ) << 32 ) | ( ( ( uint64_t ) (f) ) << 40 ) | \ 50 ( ( ( uint64_t ) (g) ) << 48 ) | ( ( ( uint64_t ) (h) ) << 56 ) ) 51 #define EDD_INTF_TYPE( ... ) \ 52 EDD_INTF_TYPE_FIXED ( __VA_ARGS__, \ 53 ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' ) 55 #define EDD_INTF_TYPE_ATA EDD_INTF_TYPE ( 'A', 'T', 'A' ) 57 #define EDD_INTF_TYPE_ATAPI EDD_INTF_TYPE ( 'A', 'T', 'A', 'P', 'I' ) 59 #define EDD_INTF_TYPE_SCSI EDD_INTF_TYPE ( 'S', 'C', 'S', 'I' ) 61 #define EDD_INTF_TYPE_USB EDD_INTF_TYPE ( 'U', 'S', 'B' ) 63 #define EDD_INTF_TYPE_1394 EDD_INTF_TYPE ( '1', '3', '9', '4' ) 65 #define EDD_INTF_TYPE_FIBRE EDD_INTF_TYPE ( 'F', 'I', 'B', 'R', 'E' ) 67 #define EDD_INTF_TYPE_I2O EDD_INTF_TYPE ( 'I', '2', 'O' ) 69 #define EDD_INTF_TYPE_RAID EDD_INTF_TYPE ( 'R', 'A', 'I', 'D' ) 71 #define EDD_INTF_TYPE_SATA EDD_INTF_TYPE ( 'S', 'A', 'T', 'A' ) 73 #define EDD_INTF_TYPE_SAS EDD_INTF_TYPE ( 'S', 'A', 'S' ) 184 #define EDD_DEVICE_PATH_INFO_KEY 0xbedd 189 #define edd_describe_TYPE( object_type ) \ 190 typeof ( int ( object_type, struct edd_interface_type *type, \ 191 union edd_device_path *path ) )
uint16_t base
Base address.
unsigned long long uint64_t
uint8_t channel
Channel number.
struct edd_interface_path::@506 __attribute__((packed)) legacy
Legacy bus type.
struct edd_host_bus_type __attribute__((packed))
Legacy bus type.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
int edd_describe(struct interface *intf, struct edd_interface_type *type, union edd_device_path *path)
Describe a disk device using EDD.
uint8_t lun
Logical Unit Number.
struct edd_device_path::@510 __attribute__((packed)) ata
ATA interface type.
uint32_t array
Array number.
uint8_t multiplier
Port multiplier number.
uint64_t serial
Serial number.
uint64_t lun
Logical Unit Number.
uint64_t tag
Identity tag.