VMS Help  —  TCPIP Services, Programming Interfaces, Socket API Functions, ioctl()
    Controls I/O requests to obtain network information.
    Format
      #include  <ioctl.h>
      int ioctl  ( int s, int request, ... /* arg */ );

1  –  Argument

 s
    Specifies the socket descriptor of the requested network device.
 request
    Specifies the type of ioctl command to be performed on the
    device. The request types are grouped as follows:
    o  Socket operations
    o  File operations
    o  Interface operations
    o  ARP cache operations
    o  Routing table operations
    Refer to IOCTL Requests for a complete list of supported IOCTL
    commands.
 arg
    Specifies arguments for this request. The type of arg is
    dependent on the specific ioctl() request and device to which
    the ioctl() call is targeted.

2  –  Description

    This function performs a variety of device-specific functions.
    The request and arg arguments are passed to the file designated
    by the s argument and then interpreted by the device driver. The
    basic I/O functions are performed through the read() and write()
    functions.
    Encoded in an ioctl() request is whether the argument is an "in"
    argument or an "out" argument, and the size of the arg argument
    in bytes. The macros and definitions used to specify an ioctl()
    request are located in the IOCTL.H header file.

3  –  Return Values

    -1                 Error; errno is set to indicate the error.

4  –  Errors

    EBADF              The s argument is not a valid socket
                       descriptor.
    EINTR              A signal was caught during the ioctl()
                       operation.
    If an underlying device driver detects an error, errno might be
    set to one of the following values:
    EINVAL             Either the request or the arg argument is not
                       valid.
    ENOTTY             Reserved for HP use. The s argument is not
                       associated with a network device, or the
                       specified request does not apply to the
                       specific network device.
    ENXIO              The request and arg arguments are valid for
                       this device driver, but the service requested
                       cannot be performed on the device.
Close Help