HDIO(4I) Ioctl Requests HDIO(4I)

NAME


hdio - SMD and IPI disk control operations

SYNOPSIS


#include <sys/hdio.h>

DESCRIPTION


Note -- the SMC and IPI drivers have been discontinued. dkio(4I) is now
the preferred method for retrieving disk information.

The SMD and IPI disk drivers supplied with this release support a set of
ioctl(2) requests for diagnostics and bad sector information. Basic to
these ioctl(2) requests are the definitions in <sys/hdio.h>.

IOCTLS


HDKIOCGTYPE The argument is a pointer to a hdk_type structure (described
below). This ioctl(2) gets specific information from the hard
disk.

HDKIOCSTYPE The argument is a pointer to a hdk_type structure (described
below). This ioctl(2) sets specific information about the
hard disk.

/*
* 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) */
};

HDKIOCGBAD The argument is a pointer to a hdk_badmap structure (described
below). This ioctl(2) is used to get the bad sector map from
the disk.

HDKIOCSBAD The argument is a pointer to a hdk_badmap structure (described
below). This ioctl(2) is used to set the bad sector map on the
disk.

/*
* Used for bad sector map
*/
struct hdk_badmap {
caddr_t hdkb_bufaddr; /* address of user's map buffer */
};

HDKIOCGDIAG The argument is a pointer to a hdk_diag structure (described
below). This ioctl(2) gets the most recent command that
failed along with the sector and error number from the hard
disk.

/*
* 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 */
};

SEE ALSO


ioctl(2), dkio(4I)

illumos October 23, 2017 illumos