Technical data
SunOS 5.5 Ioctl Requests fdio(7I)
/∗
∗ Floppy characteristics
∗/
struct fd_char {
u_char fdc_medium; /∗ equals 1 if medium type ∗/
int fdc_transfer_rate; /∗ transfer rate ∗/
int fdc_ncyl; /∗ number of cylinders ∗/
int fdc_nhead; /∗ number of heads ∗/
int fdc_sec_size; /∗ sector size ∗/
int fdc_secptrack; /∗ sectors per track ∗/
int fdc_steps; /∗ no. of steps per data track ∗/
};
FDGETDRIVECHAR
The argument to this ioctl() is a pointer to an fd_drive structure
(described below). This ioctl() gets the characteristics of the floppy drive
from the floppy controller.
FDSETDRIVECHAR
x86: The argument to this ioctl() is a pointer to an fd_drive structure
(described below). This ioctl() sets the characteristics of the floppy drive
for the floppy controller. Only fdd_steprate, fdd_headsettle,
fdd_motoron, and fdd_motoroff are actually used by the floppy disk
driver.
/∗
∗ Floppy Drive characteristics
∗/
struct fd_drive {
int fdd_ejectable; /∗ does the drive support eject? ∗/
int fdd_maxsearch; /∗ size of per-unit search table ∗/
int fdd_writeprecomp; /∗ cyl to start write prcompensation ∗/
int fdd_writereduce; /∗ cyl to start recucing write current ∗/
int fdd_stepwidth; /∗ width of step pulse in 1 us units ∗/
int fdd_steprate; /∗ step rate in 100 us units ∗/
int fdd_headsettle; /∗ delay, in 100 us units ∗/
int fdd_headload; /∗ delay, in 100 us units ∗/
int fdd_headunload; /∗ delay, in 100 us units ∗/
int fdd_motoron; /∗ delay, in 100 ms units ∗/
int fdd_motoroff; /∗ delay, in 100 ms units ∗/
int fdd_precomplevel; /∗ bit shift, in nano-secs ∗/
int fdd_pins; /∗ defines meaning of pin 1, 2, 4 and 34 ∗/
int fdd_flags; /∗ TRUE READY, Starting Sector #, & Motor On ∗/
};
FDGETSEARCH Not available.
FDSETSEARCH Not available.
modified 27 Apr 1995 7I-117










