MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Calls                                             ioctl(2)



NAME
     ioctl - control device

SYNOPSIS
     #include 
     #include 

     int ioctl(int fildes, int request, /* arg */ ...);


DESCRIPTION
     The ioctl() function performs a variety of control functions
     on devices and STREAMS. For non-STREAMS files, the functions
     performed by this call are   device-specific  control  func-
     tions.   The request argument and an optional third argument
     with varying type are  passed  to  the  file  designated  by
     fildes and are interpreted by the device driver.


     For STREAMS files, specific functions are performed  by  the
     ioctl() function as described in streamio(7I).


     The fildes argument is an open file descriptor  that  refers
     to a device.  The request argument selects the control func-
     tion to  be  performed  and  depends  on  the  device  being
     addressed.   The  arg  argument  represents a third argument
     that has additional  information  that  is  needed  by  this
     specific  device to perform the requested function. The data
     type of arg depends upon the particular control request, but
     it  is  either an int or a pointer to a device-specific data
     structure.


     In addition to device-specific and STREAMS  functions,  gen-
     eric  functions  are provided by more than one device driver
     (for  example,  the  general   terminal   interface.)    See
     termio(7I)).

RETURN VALUES
     Upon successful completion, the value returned depends  upon
     the  device  control  function,  but  must be a non-negative
     integer.  Otherwise, -1 is returned  and  errno  is  set  to
     indicate the error.

ERORS
     The ioctl() function will fail for any type of file if:

     EBADF     The fildes argument  is  not  a  valid  open  file
               descriptor.





SunOS 5.11          Last change: 15 Feb 1996                    1






System Calls                                             ioctl(2)



     EINTR     A signal was caught during the  execution  of  the
               ioctl() function.


     EINVAL    The STREAM or multiplexer referenced by fildes  is
               linked  (directly or indirectly) downstream from a
               multiplexer.



     The ioctl() function will also fail  if  the  device  driver
     detects an error.  In this case, the error is passed through
     ioctl() without change to the caller.  A  particular  driver
     might  not  have all of the following error cases. Under the
     following conditions, requests to device  drivers  may  fail
     and set errno to indicate the error

     EFAULT     The request argument requires a data transfer  to
                or  from  a  buffer  pointed  to  by arg, but arg
                points to an illegal address.


     EINVAL     The request or arg argument is not valid for this
                device.


     EIO        Some physical I/O error has occurred.


     ENOLINK    The fildes argument is on a  remote  machine  and
                the link to that machine is no longer active.


     ENOTY     The fildes argument  is  not  associated  with  a
                STREAMS device that accepts control functions.


     ENXIO      The request and arg arguments are valid for  this
                device  driver, but the service requested can not
                be performed on this particular subdevice.


     ENODEV     The fildes argument refers  to  a  valid  STREAMS
                device,  but the corresponding device driver does
                not support the ioctl() function.



     STREAMS errors are described in streamio(7I).

ATRIBUTES




SunOS 5.11          Last change: 15 Feb 1996                    2






System Calls                                             ioctl(2)



     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    


SEE ALSO
     attributes(5), standards(5), streamio(7I), termio(7I)









































SunOS 5.11          Last change: 15 Feb 1996                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™