blob: d4f38ab9631e2cdaa61754b79e728ee7c0fbfda6 [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
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.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** 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
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_FD_H
20#define _LINUX_FD_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/ioctl.h>
22#include <linux/compiler.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024struct floppy_struct {
25 unsigned int size,
26 sect,
27 head,
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029 track,
30 stretch;
31#define FD_STRETCH 1
32#define FD_SWAPSIDES 2
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034#define FD_ZEROBASED 4
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080035 unsigned char gap,
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080036 rate,
37#define FD_2M 0x4
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define FD_SIZECODEMASK 0x38
40#define FD_SIZECODE(floppy) (((((floppy)->rate&FD_SIZECODEMASK)>> 3)+ 2) %8)
41#define FD_SECTSIZE(floppy) ( (floppy)->rate & FD_2M ? 512 : 128 << FD_SIZECODE(floppy) )
42#define FD_PERP 0x40
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044 spec1,
45 fmt_gap;
46 const char * name;
47};
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define FDCLRPRM _IO(2, 0x41)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080050#define FDSETPRM _IOW(2, 0x42, struct floppy_struct)
51#define FDSETMEDIAPRM FDSETPRM
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080052#define FDDEFPRM _IOW(2, 0x43, struct floppy_struct)
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054#define FDGETPRM _IOR(2, 0x04, struct floppy_struct)
55#define FDDEFMEDIAPRM FDDEFPRM
56#define FDGETMEDIAPRM FDGETPRM
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080057#define FDMSGON _IO(2,0x45)
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#define FDMSGOFF _IO(2,0x46)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080060#define FD_FILL_BYTE 0xF6
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061struct format_descr {
62 unsigned int device,head,track;
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080065#define FDFMTBEG _IO(2,0x47)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080066#define FDFMTTRK _IOW(2,0x48, struct format_descr)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080067#define FDFMTEND _IO(2,0x49)
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069struct floppy_max_errors {
70 unsigned int
71 abort,
72 read_track,
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074 reset,
75 recal,
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080076 reporting;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080077};
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079#define FDSETEMSGTRESH _IO(2,0x4a)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080080#define FDFLUSH _IO(2,0x4b)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080081#define FDSETMAXERRS _IOW(2, 0x4c, struct floppy_max_errors)
82#define FDGETMAXERRS _IOR(2, 0x0e, struct floppy_max_errors)
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080084typedef char floppy_drive_name[16];
85#define FDGETDRVTYP _IOR(2, 0x0f, floppy_drive_name)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080086struct floppy_drive_params {
87 signed char cmos;
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089 unsigned long max_dtr;
90 unsigned long hlt;
91 unsigned long hut;
92 unsigned long srt;
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094 unsigned long spinup;
95 unsigned long spindown;
96 unsigned char spindown_offset;
97 unsigned char select_delay;
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099 unsigned char rps;
100 unsigned char tracks;
101 unsigned long timeout;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800102 unsigned char interleave_sect;
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104 struct floppy_max_errors max_errors;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800105 char flags;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800106#define FTD_MSG 0x10
107#define FD_BROKEN_DCL 0x20
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109#define FD_DEBUG 0x02
110#define FD_SILENT_DCL_CLEAR 0x4
111#define FD_INVERTED_DCL 0x80
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800112 char read_track;
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114 short autodetect[8];
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800115 int checkfreq;
116 int native_format;
117};
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119enum {
120 FD_NEED_TWADDLE_BIT,
121 FD_VERIFY_BIT,
122 FD_DISK_NEWCHANGE_BIT,
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124 FD_UNUSED_BIT,
125 FD_DISK_CHANGED_BIT,
126 FD_DISK_WRITABLE_BIT
127};
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129#define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params)
130#define FDGETDRVPRM _IOR(2, 0x11, struct floppy_drive_params)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800131struct floppy_drive_struct {
132 unsigned long flags;
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134#define FD_NEED_TWADDLE (1 << FD_NEED_TWADDLE_BIT)
135#define FD_VERIFY (1 << FD_VERIFY_BIT)
136#define FD_DISK_NEWCHANGE (1 << FD_DISK_NEWCHANGE_BIT)
137#define FD_DISK_CHANGED (1 << FD_DISK_CHANGED_BIT)
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139#define FD_DISK_WRITABLE (1 << FD_DISK_WRITABLE_BIT)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800140 unsigned long spinup_date;
141 unsigned long select_date;
142 unsigned long first_read_date;
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800144 short probed_format;
145 short track;
146 short maxblock;
147 short maxtrack;
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800149 int generation;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800150 int keep_data;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800151 int fd_ref;
152 int fd_device;
Ben Cheng654325d2012-03-07 21:13:49 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800154 unsigned long last_checked;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800155 char *dmabuf;
156 int bufblocks;
157};
Ben Cheng654325d2012-03-07 21:13:49 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800159#define FDGETDRVSTAT _IOR(2, 0x12, struct floppy_drive_struct)
160#define FDPOLLDRVSTAT _IOR(2, 0x13, struct floppy_drive_struct)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800161enum reset_mode {
162 FD_RESET_IF_NEEDED,
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800164 FD_RESET_IF_RAWCMD,
165 FD_RESET_ALWAYS
166};
167#define FDRESET _IO(2, 0x54)
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800169struct floppy_fdc_state {
170 int spec1;
171 int spec2;
172 int dtr;
Ben Cheng654325d2012-03-07 21:13:49 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800174 unsigned char version;
175 unsigned char dor;
176 unsigned long address;
177 unsigned int rawcmd:2;
Ben Cheng654325d2012-03-07 21:13:49 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800179 unsigned int reset:1;
180 unsigned int need_configure:1;
181 unsigned int perp_mode:2;
182 unsigned int has_fifo:1;
Ben Cheng654325d2012-03-07 21:13:49 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800184 unsigned int driver_version;
185#define FD_DRIVER_VERSION 0x100
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800186 unsigned char track[4];
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800187};
Ben Cheng654325d2012-03-07 21:13:49 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800189#define FDGETFDCSTAT _IOR(2, 0x15, struct floppy_fdc_state)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800190struct floppy_write_errors {
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800191 unsigned int write_errors;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800192 unsigned long first_error_sector;
Ben Cheng654325d2012-03-07 21:13:49 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800194 int first_error_generation;
195 unsigned long last_error_sector;
196 int last_error_generation;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800197 unsigned int badness;
Ben Cheng654325d2012-03-07 21:13:49 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800199};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800200#define FDWERRORCLR _IO(2, 0x56)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800201#define FDWERRORGET _IOR(2, 0x17, struct floppy_write_errors)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800202#define FDHAVEBATCHEDRAWCMD
Ben Cheng654325d2012-03-07 21:13:49 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800204struct floppy_raw_cmd {
205 unsigned int flags;
206#define FD_RAW_READ 1
207#define FD_RAW_WRITE 2
Ben Cheng654325d2012-03-07 21:13:49 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800209#define FD_RAW_NO_MOTOR 4
210#define FD_RAW_DISK_CHANGE 4
211#define FD_RAW_INTR 8
212#define FD_RAW_SPIN 0x10
Ben Cheng654325d2012-03-07 21:13:49 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800214#define FD_RAW_NO_MOTOR_AFTER 0x20
215#define FD_RAW_NEED_DISK 0x40
216#define FD_RAW_NEED_SEEK 0x80
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800217#define FD_RAW_MORE 0x100
Ben Cheng654325d2012-03-07 21:13:49 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800219#define FD_RAW_STOP_IF_FAILURE 0x200
220#define FD_RAW_STOP_IF_SUCCESS 0x400
221#define FD_RAW_SOFTFAILURE 0x800
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800222#define FD_RAW_FAILURE 0x10000
Ben Cheng654325d2012-03-07 21:13:49 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800224#define FD_RAW_HARDFAILURE 0x20000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800225 void __user *data;
226 char *kernel_data;
227 struct floppy_raw_cmd *next;
Ben Cheng654325d2012-03-07 21:13:49 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800229 long length;
230 long phys_length;
231 int buffer_length;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800232 unsigned char rate;
Ben Cheng654325d2012-03-07 21:13:49 -0800233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800234 unsigned char cmd_count;
235 unsigned char cmd[16];
236 unsigned char reply_count;
237 unsigned char reply[16];
Ben Cheng654325d2012-03-07 21:13:49 -0800238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800239 int track;
240 int resultcode;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800241 int reserved1;
242 int reserved2;
Ben Cheng654325d2012-03-07 21:13:49 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800244};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800245#define FDRAWCMD _IO(2, 0x58)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800246#define FDTWADDLE _IO(2, 0x59)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800247#define FDEJECT _IO(2, 0x5a)
Ben Cheng654325d2012-03-07 21:13:49 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800249#endif