diff options
Diffstat (limited to 'usr/src/man/man7i/fdio.7i')
-rw-r--r-- | usr/src/man/man7i/fdio.7i | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/usr/src/man/man7i/fdio.7i b/usr/src/man/man7i/fdio.7i deleted file mode 100644 index a95f84dfaa..0000000000 --- a/usr/src/man/man7i/fdio.7i +++ /dev/null @@ -1,277 +0,0 @@ -.\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved -.\" Copyright (c) 2017, Joyent, Inc. -.\" The contents of this file are subject to the terms of the -.\" Common Development and Distribution License (the "License"). -.\" You may not use this file except in compliance with the License. -.\" -.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -.\" or http://www.opensolaris.org/os/licensing. -.\" See the License for the specific language governing permissions -.\" and limitations under the License. -.\" -.\" When distributing Covered Code, include this CDDL HEADER in each -.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. -.\" If applicable, add the following below this CDDL HEADER, with the -.\" fields enclosed by brackets "[]" replaced with your own identifying -.\" information: Portions Copyright [yyyy] [name of copyright owner] -.Dd October 22, 2017 -.Dt FDIO 7I -.Os -.Sh NAME -.Nm fdio -.Nd floppy disk control operations -.Sh SYNOPSIS -.In sys/fdio.h -.Sh DESCRIPTION -The Solaris floppy driver supports a set of -.Xr ioctl 2 -requests for getting and setting the floppy drive characteristics. -Basic to these -.Xr ioctl 2 -requests are the definitions in -.In sys/fdio.h . -.Sh IOCTLS -The following -.Xr ioctl 2 -requests are available on the Solaris floppy driver. -.Bl -tag -width FDDEFGEOCHAR -.It Dv FDDEFGEOCHAR -x86 based systems: This -.Xr ioctl 2 -forces the floppy driver to restore -the diskette and drive characteristics and geometry, and partition information -to default values based on the device configuration. -.It Dv FDGETCHANGE -The argument is a pointer to an -.Vt int . -This -.Xr ioctl 2 -returns the status of the diskette-changed signal from the floppy interface. -The following defines are provided for cohesion. -.El -.Pp -Note: For x86 based systems, use -.Dv FDGC_DETECTED -(which is available only on x86 based systems) instead of -.Dv FDGC_HISTORY . -.Bd -literal -offset 2n -/* - * Used by FDGETCHANGE, returned state of the sense disk change bit. - */ -#define FDGC_HISTORY 0x01 /* - * disk has changed since insertion or - * last FDGETCHANGE call - */ -#define FDGC_CURRENT 0x02 /* - * if set, indicates drive has floppy, - * otherwise, drive is empty - */ -#define FDGC_CURWPROT 0x10 /* current state of write protect */ -#define FDGC_DETECTED 0x20 /* previous state of DISK CHANGE */ -.Ed -.Bl -tag -width FDIOGCHAR -.It Dv FDIOGCHAR -The argument is a pointer to an -.Vt fd_char -structure (described below). -This -.Xr ioctl 2 -gets the characteristics of the floppy diskette from the floppy controller. -.It Dv FDIOSCHAR -The argument is a pointer to an -.Vt fd_char -structure (described below). -This -.Xr ioctl 2 -sets the characteristics of the floppy diskette for the floppy controller. -Typical values in the -.Vt fd_char -structure for a high density diskette: -.Bl -column fdc_stransfer_rate value "{ This field doesn't apply. }" -.It Field Ta Value Ta -.It fdc_medium Ta 0 Ta -.It fdc_transfer_rate Ta 500 Ta -.It fdc_ncyl Ta 80 Ta -.It fdc_nhead Ta 2 Ta -.It fdc_sec_size Ta 512 Ta -.It fdc_secptrack Ta 18 Ta -.It fdc_steps Ta -1 Ta { This field doesn't apply. } -.El -.El -.Bd -literal -offset 2n -/* - * Floppy characteristics - */ -struct fd_char { - uchar_t fdc_medium; /* equals 1 if floppy is medium density format */ - 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 */ -}; -.Ed -.Bl -tag -width FDGETDRIVECHAR -.It Dv FDGETDRIVECHAR -The argument to this -.Xr ioctl 2 -is a pointer to an -.Vt fd_drive -structure (described below). -This -.Xr ioctl 2 -gets the characteristics of the floppy drive from the floppy controller. -.It Dv FDSETDRIVECHAR -x86 based systems: The argument to this -.Xr ioctl 2 -is a pointer to an -.Vt fd_drive -structure (described below). -This -.Xr ioctl 2 -sets the characteristics of the floppy drive for the floppy controller. -Only -.Fa fdd_steprate , -.Fa fdd_headsettle , -.Fa fdd_motoron , -and -.Fa fdd_motoroff -are actually used by the floppy disk driver. -.El -.Bd -literal -offset 2n -/* - * 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 precompensation */ - 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 */ -}; -.Ed -.Bl -tag -width FDGETSEARCH -.It Dv FDGETSEARCH -Not available. -.It Dv FDSETSEARCH -Not available. -.It Dv FDEJECT -SPARC: This -.Xr ioctl 2 -requests the floppy drive to eject the diskette. -.It Dv FDIOCMD -The argument is a pointer to an -.Vt fd_cmd -structure (described below). -This -.Xr ioctl 2 -allows access to the floppy diskette using the floppy device driver. -Only the -.Dv FDCMD_WRITE , -.Dv FDCMD_READ , -and -.Dv FDCMD_FORMAT_TRACK -commands are currently available. -.El -.Bd -literal -offset 2n -struct fd_cmd { - ushort_t fdc_cmd; /* command to be executed */ - int fdc_flags; /* execution flags (x86 only) */ - daddr_t fdc_blkno; /* disk address for command */ - int fdc_secnt; /* sector count for command */ - caddr_t fdc_bufaddr; /* user's buffer address */ - uint_t fdc_buflen; /* size of user's buffer */ -}; -.Ed -.Pp -Please note that the -.Fa fdc_buflen -field is currently unused. -The -.Fa fdc_secnt -field is used to calculate the transfer size, and the buffer is -assumed to be large enough to accommodate the transfer. -.Bd -literal -offset 2n -/* - * Floppy commands - */ -#define FDCMD_WRITE 1 -#define FDCMD_READ 2 -#define FDCMD_SEEK 3 -#define FDCMD_REZERO 4 -#define FDCMD_FORMAT_UNIT 5 -#define FDCMD_FORMAT_TRACK 6 -.Ed -.Bl -tag -width FDRAW -.It Dv FDRAW -The argument is a pointer to an -.Vt fd_raw -structure (described below). -This -.Xr ioctl 2 -allows direct control of the floppy drive using the floppy controller. -Refer to the appropriate floppy-controller data sheet for full -details on required command bytes and returned result bytes. -The following commands are supported. -.El -.Bd -literal -offset 2n -/* - * Floppy raw commands - */ -#define FDRAW_SPECIFY 0x03 -#define FDRAW_READID 0x0a (x86 only) -#define FDRAW_SENSE_DRV 0x04 -#define FDRAW_REZERO 0x07 -#define FDRAW_SEEK 0x0f -#define FDRAW_SENSE_INT 0x08 (x86 only) -#define FDRAW_FORMAT 0x0d -#define FDRAW_READTRACK 0x02 -#define FDRAW_WRCMD 0x05 -#define FDRAW_RDCMD 0x06 -#define FDRAW_WRITEDEL 0x09 -#define FDRAW_READDEL 0x0c -.Ed -.Pp -Please note that when using -.Dv FDRAW_SEEK -or -.Dv FDRAW_REZERO , -the driver automatically issues a -.Dv FDRAW_SENSE_INT -command to clear the interrupt from the -.Dv FDRAW_SEEK -or the -.Dv FDRAW_REZERO . -The result bytes returned by these commands are the results from the -.Dv DRAW_SENSE_INT -command. -Please see the floppy-controller data sheet for -more details on -.Dv FDRAW_SENSE_INT . -.Bd -literal -offset 2n -/* - * Used by FDRAW - */ -struct fd_raw { - char fdr_cmd[10]; /* user-supplied command bytes */ - short fdr_cnum; /* number of command bytes */ - char fdr_result[10]; /* controller-supplied result bytes */ - ushort_t fdr_nbytes; /* number to transfer if read/write command */ - char *fdr_addr; /* where to transfer if read/write command */ -}; -.Ed -.Sh SEE ALSO -.Xr ioctl 2 , -.Xr fd 7D , -.Xr dkio 7I , -.Xr hdio 7I |