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