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