ioccom.h File Reference

IOCPARM_MASK

IOCPARM_LEN

IOCBASECMD

IOCGROUP

IOCPARM_MAX

IOC_VOID

IOC_OUT

IOC_IN

IOC_INOUT

IOC_DIRMASK

_IOC

_IO

_IOR

IO read.

_IOW

IO write.

_IOWR

IO read write.

ioctl ( int, unsigned, ... )

IMPORT_C intioctl(int,
unsignedlong,
...
)
  #include < sys/ioctl.h >
The ioctl system call manipulates the underlying device parameters of special files. In particular, many operating characteristics of character special files (e.g. terminals) may be controlled with ioctl requests. The argument aFid must be an open file descriptor.

The third argument to ioctl is traditionally named char *argp . Most uses of ioctl in 3.0, however require the third argument to be a caddr_t or an int.

An ioctl request has encoded in it whether the argument is an "in" argument or "out" argument, and the size of the argument argp in bytes. Macros and defines used in specifying an ioctl request are located in the file #include <sys/ioctl.h >

Examples:
 /* Detailed description  : Sample usage of ioctl system call ,for command SIOCGIFINDEX 
 which gets socket interface index , by passing socket interface home.*/
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <sys/ioctl.h>
int main()
{
  int ret = 0;
        struct ifreq ifr;
        int sockfd;
                
        sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);      
        strncpy(ifr.ifr_name, "Ethernet with Daemon Dynamic IP", sizeof(ifr.ifr_name));
        
                if (ioctl(sockfd, SIOCGIFINDEX, &ifr;) != -1)
                {
                ret = -1;
                }
                
        close(sockfd);
        return ret; }

See also: fcntl()

Return Value
If an error has occurred, a value of -1 is returned and errno is set to indicate the error.
Capability
DeferredRsocket::Open