Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Thursday, June 13, 2019
 
 

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 () requests are the definitions in < sys/hdio.h>.

Ioctls

HDKIOCGTYPE

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

HDKIOCSTYPE

The argument is a pointer to a hdk_type structure (described below). This ioctl() 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() 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() 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() 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)