111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPI_LINUX_FD_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPI_LINUX_FD_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/ioctl.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/compiler.h>
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_struct {
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int size,
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert sect,
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert head,
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert track,
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert stretch;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_STRETCH 1
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SWAPSIDES 2
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_ZEROBASED 4
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SECTBASEMASK 0x3FC
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_MKSECTBASE(s) (((s) ^ 1) << 2)
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SECTBASE(floppy) ((((floppy)->stretch & FD_SECTBASEMASK) >> 2) ^ 1)
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char gap,
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert rate,
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_2M 0x4
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SIZECODEMASK 0x38
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SIZECODE(floppy) (((((floppy)->rate&FD_SIZECODEMASK)>> 3)+ 2) %8)
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SECTSIZE(floppy) ( (floppy)->rate & FD_2M ?   512 : 128 << FD_SIZECODE(floppy) )
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_PERP 0x40
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert spec1,
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert fmt_gap;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert const char * name;
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDCLRPRM _IO(2, 0x41)
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDSETPRM _IOW(2, 0x42, struct floppy_struct)
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDSETMEDIAPRM FDSETPRM
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDDEFPRM _IOW(2, 0x43, struct floppy_struct)
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETPRM _IOR(2, 0x04, struct floppy_struct)
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDDEFMEDIAPRM FDDEFPRM
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETMEDIAPRM FDGETPRM
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDMSGON _IO(2,0x45)
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDMSGOFF _IO(2,0x46)
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_FILL_BYTE 0xF6
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct format_descr {
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int device,head,track;
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDFMTBEG _IO(2,0x47)
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDFMTTRK _IOW(2,0x48, struct format_descr)
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDFMTEND _IO(2,0x49)
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_max_errors {
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert abort,
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert read_track,
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert reset,
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert recal,
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert reporting;
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDSETEMSGTRESH _IO(2,0x4a)
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDFLUSH _IO(2,0x4b)
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDSETMAXERRS _IOW(2, 0x4c, struct floppy_max_errors)
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETMAXERRS _IOR(2, 0x0e, struct floppy_max_errors)
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef char floppy_drive_name[16];
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETDRVTYP _IOR(2, 0x0f, floppy_drive_name)
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_drive_params {
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert signed char cmos;
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long max_dtr;
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long hlt;
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long hut;
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long srt;
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long spinup;
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long spindown;
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char spindown_offset;
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char select_delay;
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char rps;
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char tracks;
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long timeout;
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char interleave_sect;
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct floppy_max_errors max_errors;
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char flags;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FTD_MSG 0x10
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_BROKEN_DCL 0x20
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_DEBUG 0x02
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_SILENT_DCL_CLEAR 0x4
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_INVERTED_DCL 0x80
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char read_track;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short autodetect[8];
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int checkfreq;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int native_format;
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum {
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_NEED_TWADDLE_BIT,
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_VERIFY_BIT,
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_DISK_NEWCHANGE_BIT,
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_UNUSED_BIT,
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_DISK_CHANGED_BIT,
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_DISK_WRITABLE_BIT,
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_OPEN_SHOULD_FAIL_BIT
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params)
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETDRVPRM _IOR(2, 0x11, struct floppy_drive_params)
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_drive_struct {
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long flags;
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_NEED_TWADDLE (1 << FD_NEED_TWADDLE_BIT)
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_VERIFY (1 << FD_VERIFY_BIT)
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_DISK_NEWCHANGE (1 << FD_DISK_NEWCHANGE_BIT)
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_DISK_CHANGED (1 << FD_DISK_CHANGED_BIT)
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_DISK_WRITABLE (1 << FD_DISK_WRITABLE_BIT)
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long spinup_date;
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long select_date;
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long first_read_date;
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short probed_format;
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short track;
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short maxblock;
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert short maxtrack;
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int generation;
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int keep_data;
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fd_ref;
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int fd_device;
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long last_checked;
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char *dmabuf;
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int bufblocks;
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETDRVSTAT _IOR(2, 0x12, struct floppy_drive_struct)
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDPOLLDRVSTAT _IOR(2, 0x13, struct floppy_drive_struct)
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum reset_mode {
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_RESET_IF_NEEDED,
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_RESET_IF_RAWCMD,
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert FD_RESET_ALWAYS
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDRESET _IO(2, 0x54)
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_fdc_state {
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int spec1;
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int spec2;
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int dtr;
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char version;
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char dor;
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long address;
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int rawcmd:2;
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int reset:1;
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int need_configure:1;
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int perp_mode:2;
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int has_fifo:1;
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int driver_version;
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_DRIVER_VERSION 0x100
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char track[4];
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDGETFDCSTAT _IOR(2, 0x15, struct floppy_fdc_state)
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_write_errors {
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int write_errors;
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long first_error_sector;
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int first_error_generation;
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned long last_error_sector;
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int last_error_generation;
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int badness;
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDWERRORCLR _IO(2, 0x56)
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDWERRORGET _IOR(2, 0x17, struct floppy_write_errors)
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDHAVEBATCHEDRAWCMD
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct floppy_raw_cmd {
21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned int flags;
21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_READ 1
21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_WRITE 2
21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_NO_MOTOR 4
21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_DISK_CHANGE 4
21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_INTR 8
21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_SPIN 0x10
21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_NO_MOTOR_AFTER 0x20
22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_NEED_DISK 0x40
22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_NEED_SEEK 0x80
22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_MORE 0x100
22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_STOP_IF_FAILURE 0x200
22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_STOP_IF_SUCCESS 0x400
22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_SOFTFAILURE 0x800
22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_FAILURE 0x10000
22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FD_RAW_HARDFAILURE 0x20000
23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *data;
23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char *kernel_data;
23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct floppy_raw_cmd *next;
23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long length;
23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert long phys_length;
23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int buffer_length;
23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char rate;
23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char cmd_count;
24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char cmd[16];
24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char reply_count;
24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char reply[16];
24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int track;
24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int resultcode;
24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int reserved1;
24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int reserved2;
24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDRAWCMD _IO(2, 0x58)
25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDTWADDLE _IO(2, 0x59)
25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FDEJECT _IO(2, 0x5a)
25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
255