1 /****************************************************************************
2 ****************************************************************************
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
17 ****************************************************************************
18 ****************************************************************************/
19 #ifndef _UAPI_LINUX_EDD_H
20 #define _UAPI_LINUX_EDD_H
21 #include <linux/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
27 #define EDDPARMSIZE 74
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define CHECKEXTENSIONSPRESENT 0x41
30 #define GETDEVICEPARAMETERS 0x48
31 #define LEGACYGETDEVICEPARAMETERS 0x08
32 #define EDDMAGIC1 0x55AA
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define EDDMAGIC2 0xAA55
35 #define READ_SECTORS 0x02
36 #define EDD_MBR_SIG_OFFSET 0x1B8
37 #define EDD_MBR_SIG_BUF 0x290
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define EDD_MBR_SIG_MAX 16
40 #define EDD_MBR_SIG_NR_BUF 0x1ea
42 #define EDD_EXT_FIXED_DISK_ACCESS (1 << 0)
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define EDD_EXT_DEVICE_LOCKING_AND_EJECTING (1 << 1)
45 #define EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT (1 << 2)
46 #define EDD_EXT_64BIT_EXTENSIONS (1 << 3)
47 #define EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT (1 << 0)
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define EDD_INFO_GEOMETRY_VALID (1 << 1)
50 #define EDD_INFO_REMOVABLE (1 << 2)
51 #define EDD_INFO_WRITE_VERIFY (1 << 3)
52 #define EDD_INFO_MEDIA_CHANGE_NOTIFICATION (1 << 4)
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define EDD_INFO_LOCKABLE (1 << 5)
55 #define EDD_INFO_NO_MEDIA_PRESENT (1 << 6)
56 #define EDD_INFO_USE_INT13_FN50 (1 << 7)
57 struct edd_device_params
{
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
61 __u32 num_default_cylinders
;
62 __u32 num_default_heads
;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __u32 sectors_per_track
;
65 __u64 number_of_sectors
;
66 __u16 bytes_per_sector
;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
70 __u8 device_path_info_length
;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 __u8 host_bus_type
[4];
75 __u8 interface_type
[8];
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
82 } __attribute__ ((packed
)) isa
;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
91 } __attribute__ ((packed
)) pci
;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
95 } __attribute__ ((packed
)) ibnd
;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 } __attribute__ ((packed
)) xprs
;
102 } __attribute__ ((packed
)) htpt
;
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
106 } __attribute__ ((packed
)) unknown
;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
117 } __attribute__ ((packed
)) ata
;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
127 } __attribute__ ((packed
)) atapi
;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
135 } __attribute__ ((packed
)) scsi
;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
140 } __attribute__ ((packed
)) usb
;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
145 } __attribute__ ((packed
)) i1394
;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
150 } __attribute__ ((packed
)) fibre
;
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
155 } __attribute__ ((packed
)) i2o
;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
161 } __attribute__ ((packed
)) raid
;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
170 } __attribute__ ((packed
)) sata
;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
175 } __attribute__ ((packed
)) unknown
;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
180 } __attribute__ ((packed
));
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
185 __u16 interface_support
;
186 __u16 legacy_max_cylinder
;
187 __u8 legacy_max_head
;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 __u8 legacy_sectors_per_track
;
190 struct edd_device_params params
;
191 } __attribute__ ((packed
));
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 unsigned int mbr_signature
[EDD_MBR_SIG_MAX
];
195 struct edd_info edd_info
[EDDMAXNR
];
196 unsigned char mbr_signature_nr
;
197 unsigned char edd_info_nr
;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */