FD(4) (sun3)

FD(4) | Device Drivers Manual (sun3) | FD(4)

# NAME

`fd` — Sun 3/80 i82027 floppy disk drive controller driver

# SYNOPSIS

`fdc0 at obio0` (sun3x)
`fd* at fdc0`

# DESCRIPTION

The `fd` driver is for the built-in floppy diskette drive run by the Intel i82027 controller found on the Sun 3/80.

Bits [0-3] of the minor device number of the special files referring to this device encode the floppy density as follows:

0
  3.5'' 1.44MB floppy diskettes.
1
  3.5'' 720KB floppy diskettes.
2
  3.5'' 360KB floppy diskettes.
3
  3.5'' 1.2MB/NEC Japanese format floppy diskettes.

# 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`.

# SEE ALSO

eject(1), fdformat(1)

# HISTORY

The `fd` formatting support appeared in NetBSD 1.3.

# BUGS

Formatting appears to not work reliably on all machines.

June 23, 1996 | NetBSD 11.0