BIO(4)                    OpenBSD Programmer's Manual                   BIO(4)

NAME
     bio - block I/O ioctl tunnel pseudo-device

SYNOPSIS
     pseudo-device bio [count]

DESCRIPTION
     The bio driver provides userland applications ioctl(2) access to devices
     otherwise not found as /dev nodes.  The /dev/bio device node operates by
     delegating ioctl calls to a requested device driver.  Only drivers which
     have registered with the bio device can be accessed via this interface.

     If count is given in the specification, and is greater than 0, a maximum
     of one bio device is created.

     The following device drivers register with bio for volume management:

           ami(4)         American Megatrends Inc. MegaRAID PATA/SATA/SCSI
                          RAID controller
           arc(4)         Areca Technology Corporation SAS/SATA RAID con-
                          troller
           cac(4)         Compaq Smart ARRAY 2/3/4 SCSI RAID controller
           ciss(4)        Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
           ips(4)         IBM SATA/SCSI ServeRAID controller
           mfi(4)         LSI Logic & Dell MegaRAID SAS RAID controller
           mpi(4)         LSI Logic Fusion-MPT Message Passing Interface
           softraid(4)    Software RAID

     The following device drivers register with bio to provide enclosure man-
     agement:

           safte(4)    SCSI Accessed Fault-Tolerant Enclosure
           ses(4)      SCSI Enclosure Services

     The following ioctl calls apply to the bio device:

     BIOCLOCATE        Locate a named device and give back a cookie to the ap-
                       plication for subsequent ioctl calls.  The cookie is
                       used to tunnel further ioctls to the right device.

     BIOCINQ           Retrieve number of volumes and physical disks for a
                       specific device.

     BIOCDISK          Retrieve detailed information for the specified physi-
                       cal disk.  Information returned can include status,
                       size, channel, target, lun, vendor name, serial number
                       and processor device (ses or safte).

     BIOCVOL           Retrieve detailed information for the specified volume.
                       Information returned can include status, size, RAID
                       level, number of disks, device name association (sd?)
                       and vendor name.

     BIOCALARM         Control the alarm beeper on the device.  Supported
                       states are: disable alarm, enable alarm, silence alarm,
                       status and test alarm.

                       Note:  These options might not be supported on all
                       hardware.

     BIOCBLINK         Blink an LED of the specified physical disk.  Supported
                       blink states are: blink LED, unblink LED and blink
                       alarm LED.

                       Note:  This option is only supported if the disk is
                       governed by ses(4) or safte(4) and the hardware sup-
                       ports hardware blinking.

     BIOCSETSTATE      Alter the state of specified physical disk.  Supported
                       states are: create hot-spare, online disk and offline
                       disk.

     The following ioctl calls apply to the bio device only when talking to a
     softraid(4) device:

     BIOCCREATERAID  Create new array.

     BIOCDELETERAID  Remove array, optionally erasing RAID metadata.

     BIOCDISCIPLINE  Dispatch a discipline specific ioctl.

FILES
     /dev/bio  ioctl tunnel device

SEE ALSO
     ioctl(2), softraid(4), bioctl(8)

HISTORY
     The bio driver first appeared in OpenBSD 3.2.

AUTHORS
     The bio driver was written by Niklas Hallqvist <niklas@openbsd.org>.  The
     API was written by Marco Peereboom <marco@openbsd.org>.

OpenBSD 4.7                     March 12, 2010                               2
