1 #ifndef _LINUX_FD_H 2 #define _LINUX_FD_H 3 4 #define FDCLRPRM 0 /* clear user-defined parameters */ 5 #define FDSETPRM 1 /* set user-defined parameters for current media */ 6 #define FDDEFPRM 2 /* set user-defined parameters until explicitly cleared */ 7 #define FDGETPRM 3 /* get disk parameters */ 8 #define FDMSGON 4 /* issue kernel messages on media type change */ 9 #define FDMSGOFF 5 /* don't issue kernel messages on media type change */ 10 #define FDFMTBEG 6 /* begin formatting a disk */ 11 #define FDFMTTRK 7 /* format the specified track */ 12 #define FDFMTEND 8 /* end formatting a disk */ 13 #define FDSETEMSGTRESH 10 /* set fdc error reporting treshold */ 14 #define FDFLUSH 11 /* flush buffers for media; either for verifying media, or for 15 handling a media change without closing the file 16 descriptor */ 17 18 #define FD_FILL_BYTE 0xF6 /* format fill byte */ 19 20 #define FORMAT_NONE 0 /* no format request */ 21 #define FORMAT_WAIT 1 /* format request is waiting */ 22 #define FORMAT_BUSY 2 /* formatting in progress */ 23 #define FORMAT_OKAY 3 /* successful completion */ 24 #define FORMAT_ERROR 4 /* formatting error */ 25 26 struct floppy_struct { 27 unsigned int size, /* nr of 512-byte sectors total */ 28 sect, /* sectors per track */ 29 head, /* nr of heads */ 30 track, /* nr of tracks */ 31 stretch; /* !=0 means double track steps */ 32 unsigned char gap, /* gap1 size */ 33 rate, /* data rate. |= 0x40 for perpendicular */ 34 spec1, /* stepping rate, head unload time */ 35 fmt_gap; /* gap2 size */ 36 char * name; /* used only for predefined formats */ 37 }; 38 39 struct format_descr { 40 unsigned int device,head,track; 41 }; 42 43 #endif