FDC(4) |
Kernel Interfaces Manual (x86) |
FDC(4) |
NAME
fdc — NEC 765 floppy disk controller driver
SYNOPSIS
fdc0 at isa? port 0x3f0 irq 6 drq 2
fdc* at acpi?
fdc* at pnpbios? index ?
fd* at fdc? drive ?
DESCRIPTION
The
fdc driver provides support for the NEC 765 floppy disk controller and floppy disk drives, commonly found on IBM-PC compatible systems.
The driver supports the following floppy diskette formats by using particular partitions:
-
1.44MB 3.5-inch (b)
-
-
1.2MB 5.25-inch (c)
-
-
360KB 5.25-inch (1.2MB drive) (d)
-
-
360KB 5.25-inch (IBM-PC drive) (e)
-
-
720KB 3.5-inch (f)
-
-
720KB 5.25-inch (g)
-
-
360KB 3.5-inch (h)
-
Partition
a selects the default format for the attached floppy drive, as determined by the BIOS configuration for the diskette drive.
FORMATTING
The driver supports floppy disk formatting using the interfaces in
<sys/fdio.h>:
-
FDIOCGETFORMAT struct fdformat_parms
-
Fetch current formatting parameters. This gets the default parameters for the open device if no parameters have been set during the session.
-
FDIOCSETFORMAT struct fdformat_parms
-
Set formatting parameters. The driver saves this state and it persists while the device is open.
-
FDIOCFORMAT_TRACK struct fdformat_cmd
-
Format a track on the medium. If this call returns EINVAL, the track formatting parameters were out of range for the medium. If it returns EIO, there was a medium error while formatting the track.
-
FDIOCSETOPTS int
-
Set driver options which persist until the device is closed. The options should be the logical OR of the desired values below:
-
FDOPT_NORETRY
-
Do not retry operations on failure
-
FDOPT_SILENT
-
Do not print error messages to the console
-
FDIOCGETOPTS int
-
Fetch drive options.
A typical use of the formatting facilities would be to open the device, call FDIOCGETFORMAT to fetch the current format parameters, perhaps change a parameter or two, display the formatting details to the user, and then call FDIOCSETFORMAT followed by a series of calls to FDIOCFORMAT_TRACK.
HISTORY
The fdc formatting support appeared in NetBSD 1.3.