diff options
Diffstat (limited to '9/platforms/android-18/arch-arm/usr/include/linux/fd.h')
-rw-r--r-- | 9/platforms/android-18/arch-arm/usr/include/linux/fd.h | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/9/platforms/android-18/arch-arm/usr/include/linux/fd.h b/9/platforms/android-18/arch-arm/usr/include/linux/fd.h new file mode 100644 index 0000000..f3bedd1 --- /dev/null +++ b/9/platforms/android-18/arch-arm/usr/include/linux/fd.h @@ -0,0 +1,258 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef _LINUX_FD_H +#define _LINUX_FD_H + +#include <linux/ioctl.h> +#include <linux/compiler.h> + +struct floppy_struct { + unsigned int size, + sect, + head, + track, + stretch; +#define FD_STRETCH 1 +#define FD_SWAPSIDES 2 +#define FD_ZEROBASED 4 + + unsigned char gap, + + rate, +#define FD_2M 0x4 +#define FD_SIZECODEMASK 0x38 +#define FD_SIZECODE(floppy) (((((floppy)->rate&FD_SIZECODEMASK)>> 3)+ 2) %8) +#define FD_SECTSIZE(floppy) ( (floppy)->rate & FD_2M ? 512 : 128 << FD_SIZECODE(floppy) ) +#define FD_PERP 0x40 + + spec1, + fmt_gap; + const char * name; +}; + +#define FDCLRPRM _IO(2, 0x41) + +#define FDSETPRM _IOW(2, 0x42, struct floppy_struct) +#define FDSETMEDIAPRM FDSETPRM + +#define FDDEFPRM _IOW(2, 0x43, struct floppy_struct) +#define FDGETPRM _IOR(2, 0x04, struct floppy_struct) +#define FDDEFMEDIAPRM FDDEFPRM +#define FDGETMEDIAPRM FDGETPRM + +#define FDMSGON _IO(2,0x45) +#define FDMSGOFF _IO(2,0x46) + +#define FD_FILL_BYTE 0xF6 + +struct format_descr { + unsigned int device,head,track; +}; + +#define FDFMTBEG _IO(2,0x47) + +#define FDFMTTRK _IOW(2,0x48, struct format_descr) + +#define FDFMTEND _IO(2,0x49) + +struct floppy_max_errors { + unsigned int + abort, + read_track, + reset, + recal, + + reporting; + +}; + +#define FDSETEMSGTRESH _IO(2,0x4a) + +#define FDFLUSH _IO(2,0x4b) + +#define FDSETMAXERRS _IOW(2, 0x4c, struct floppy_max_errors) +#define FDGETMAXERRS _IOR(2, 0x0e, struct floppy_max_errors) + +typedef char floppy_drive_name[16]; +#define FDGETDRVTYP _IOR(2, 0x0f, floppy_drive_name) + +struct floppy_drive_params { + signed char cmos; + + unsigned long max_dtr; + unsigned long hlt; + unsigned long hut; + unsigned long srt; + + unsigned long spinup; + unsigned long spindown; + unsigned char spindown_offset; + unsigned char select_delay; + unsigned char rps; + unsigned char tracks; + unsigned long timeout; + + unsigned char interleave_sect; + + struct floppy_max_errors max_errors; + + char flags; + +#define FTD_MSG 0x10 +#define FD_BROKEN_DCL 0x20 +#define FD_DEBUG 0x02 +#define FD_SILENT_DCL_CLEAR 0x4 +#define FD_INVERTED_DCL 0x80 + + char read_track; + + short autodetect[8]; + + int checkfreq; + int native_format; +}; + +enum { + FD_NEED_TWADDLE_BIT, + FD_VERIFY_BIT, + FD_DISK_NEWCHANGE_BIT, + FD_UNUSED_BIT, + FD_DISK_CHANGED_BIT, + FD_DISK_WRITABLE_BIT +}; + +#define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params) +#define FDGETDRVPRM _IOR(2, 0x11, struct floppy_drive_params) + +struct floppy_drive_struct { + unsigned long flags; + +#define FD_NEED_TWADDLE (1 << FD_NEED_TWADDLE_BIT) +#define FD_VERIFY (1 << FD_VERIFY_BIT) +#define FD_DISK_NEWCHANGE (1 << FD_DISK_NEWCHANGE_BIT) +#define FD_DISK_CHANGED (1 << FD_DISK_CHANGED_BIT) +#define FD_DISK_WRITABLE (1 << FD_DISK_WRITABLE_BIT) + + unsigned long spinup_date; + unsigned long select_date; + unsigned long first_read_date; + short probed_format; + short track; + short maxblock; + short maxtrack; + int generation; + + int keep_data; + + int fd_ref; + int fd_device; + unsigned long last_checked; + + char *dmabuf; + int bufblocks; +}; + +#define FDGETDRVSTAT _IOR(2, 0x12, struct floppy_drive_struct) +#define FDPOLLDRVSTAT _IOR(2, 0x13, struct floppy_drive_struct) + +enum reset_mode { + FD_RESET_IF_NEEDED, + FD_RESET_IF_RAWCMD, + FD_RESET_ALWAYS +}; +#define FDRESET _IO(2, 0x54) + +struct floppy_fdc_state { + int spec1; + int spec2; + int dtr; + unsigned char version; + unsigned char dor; + unsigned long address; + unsigned int rawcmd:2; + unsigned int reset:1; + unsigned int need_configure:1; + unsigned int perp_mode:2; + unsigned int has_fifo:1; + unsigned int driver_version; +#define FD_DRIVER_VERSION 0x100 + + unsigned char track[4]; + +}; + +#define FDGETFDCSTAT _IOR(2, 0x15, struct floppy_fdc_state) + +struct floppy_write_errors { + + unsigned int write_errors; + + unsigned long first_error_sector; + int first_error_generation; + unsigned long last_error_sector; + int last_error_generation; + + unsigned int badness; +}; + +#define FDWERRORCLR _IO(2, 0x56) + +#define FDWERRORGET _IOR(2, 0x17, struct floppy_write_errors) + +#define FDHAVEBATCHEDRAWCMD + +struct floppy_raw_cmd { + unsigned int flags; +#define FD_RAW_READ 1 +#define FD_RAW_WRITE 2 +#define FD_RAW_NO_MOTOR 4 +#define FD_RAW_DISK_CHANGE 4 +#define FD_RAW_INTR 8 +#define FD_RAW_SPIN 0x10 +#define FD_RAW_NO_MOTOR_AFTER 0x20 +#define FD_RAW_NEED_DISK 0x40 +#define FD_RAW_NEED_SEEK 0x80 + +#define FD_RAW_MORE 0x100 +#define FD_RAW_STOP_IF_FAILURE 0x200 +#define FD_RAW_STOP_IF_SUCCESS 0x400 +#define FD_RAW_SOFTFAILURE 0x800 + +#define FD_RAW_FAILURE 0x10000 +#define FD_RAW_HARDFAILURE 0x20000 + + void __user *data; + char *kernel_data; + struct floppy_raw_cmd *next; + long length; + long phys_length; + int buffer_length; + + unsigned char rate; + unsigned char cmd_count; + unsigned char cmd[16]; + unsigned char reply_count; + unsigned char reply[16]; + int track; + int resultcode; + + int reserved1; + int reserved2; +}; + +#define FDRAWCMD _IO(2, 0x58) + +#define FDTWADDLE _IO(2, 0x59) + +#define FDEJECT _IO(2, 0x5a) + +#endif |