ioctl(2) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

ioctl(2)

ioctl(2)                         System Calls                         ioctl(2)

NAME
       ioctl - control device

SYNOPSIS
       #include <unistd.h>
       #include <stropts.h>

       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 functions. The request argument and an
       optional third argument with varying type are passed to the file desig‐
       nated by fildes and are interpreted by the device driver.


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


       The fildes argument is an open file descriptor that refers to a device.
       The  request  argument selects the control function 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, generic functions
       are provided by more than one device driver. The manual pages  in  Sec‐
       tion  4I cover ioctl requests which apply to a class of drivers or sub‐
       systems. For example, see the termio(4I) manual page for  documentation
       of the general terminal interface.

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.

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

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


       EINTR     A signal was caught during the execution of the ioctl() func‐
                 tion.


       EINVAL    The stream or multiplexer referenced by fildes is linked (di‐
                 rectly or indirectly) downstream from a multiplexer.



       The ioctl() function will also fail if the device driver detects an er‐
       ror.  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  ad‐
                  dress.


       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.


       ENOTTY     For a streamio(4I)  request, the fildes argument is not  as‐
                  sociated  with  a  streams device that accepts control func‐
                  tions.

                  For other request values, the request is not valid  for  the
                  given  filedes, such as specifying a file that is not a spe‐
                  cial character device, or specifying a request that  is  not
                  supported for the given device.


       ENXIO      The request and arg arguments are valid for this device dri‐
                  ver,  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(4I).

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE  VALUE  _  Interface  StabilityCommitted  _  StandardSee  stan‐
       dards(7).


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

HISTORY
       The  ioctl()  function has been included in all Sun and Oracle releases
       of Solaris.

Oracle Solaris 11.4               30 Jan 2023                         ioctl(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3