summaryrefslogtreecommitdiff
path: root/usr/src/man/man4i/hdio.4i
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man4i/hdio.4i')
-rw-r--r--usr/src/man/man4i/hdio.4i112
1 files changed, 112 insertions, 0 deletions
diff --git a/usr/src/man/man4i/hdio.4i b/usr/src/man/man4i/hdio.4i
new file mode 100644
index 0000000000..1f80a9a055
--- /dev/null
+++ b/usr/src/man/man4i/hdio.4i
@@ -0,0 +1,112 @@
+.\" Copyright (c) 2002, Sun Microsystems, Inc.
+.\" 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 23, 2017
+.Dt HDIO 4I
+.Os
+.Sh NAME
+.Nm hdio
+.Nd SMD and IPI disk control operations
+.Sh SYNOPSIS
+.In sys/hdio.h
+.Sh DESCRIPTION
+Note \(em the SMC and IPI drivers have been discontinued.
+.Xr dkio 4I
+is now the preferred method for retrieving disk information.
+.Pp
+The SMD and IPI disk drivers supplied with this release support a set of
+.Xr ioctl 2
+requests for diagnostics and bad sector information.
+Basic to these
+.Xr ioctl 2
+requests are the definitions in
+.In sys/hdio.h .
+.Sh IOCTLS
+.Bl -tag -width HDKIOCGTYPE
+.It Dv HDKIOCGTYPE
+The argument is a pointer to a
+.Vt hdk_type
+structure (described below).
+This
+.Xr ioctl 2
+gets specific information from the hard disk.
+.It Dv HDKIOCSTYPE
+The argument is a pointer to a
+.Vt hdk_type
+structure (described below).
+This
+.Xr ioctl 2
+sets specific information about the hard disk.
+.El
+.Bd -literal -offset 2n
+/*
+ * Used for drive info
+ */
+struct hdk_type {
+ ushort_t hdkt_hsect; /* hard sector count (read only) */
+ ushort_t hdkt_promrev; /* prom revision (read only) */
+ uchar_t hdkt_drtype; /* drive type (ctlr specific) */
+ uchar_t hdkt_drstat; /* drive status (ctlr specific, ro) */
+};
+.Ed
+.Bl -tag -width HDKIOCGBAD
+.It Dv HDKIOCGBAD
+The argument is a pointer to a
+.Vt hdk_badmap
+structure (described below).
+This
+.Xr ioctl 2
+is used to get the bad sector map from the disk.
+.It Dv HDKIOCSBAD
+The argument is a pointer to a
+.Vt hdk_badmap
+structure (described below).
+This
+.Xr ioctl 2
+is used to set the bad sector map on the disk.
+.El
+.Bd -literal -offset 2n
+/*
+ * Used for bad sector map
+ */
+struct hdk_badmap {
+ caddr_t hdkb_bufaddr; /* address of user's map buffer */
+};
+.Ed
+.Bl -tag -width HDKIOCGDIAG
+.It Dv HDKIOCGDIAG
+The argument is a pointer to a
+.Vt hdk_diag
+structure (described below).
+This
+.Xr ioctl 2
+gets the most recent command that failed along with the
+sector and error number from the hard disk.
+.El
+.Bd -literal -offset 2n
+/*
+ * Used for disk diagnostics
+ */
+struct hdk_diag {
+ ushort_t hdkd_errcmd; /* most recent command in error */
+ daddr_t hdkd_errsect; /* most recent sector in error */
+ uchar_t hdkd_errno; /* most recent error number */
+ uchar_t hdkd_severe; /* severity of most recent error */
+};
+.Ed
+.Sh SEE ALSO
+.Xr ioctl 2 ,
+.Xr dkio 4I