wut  v1.7.0
Wii U Toolchain
Macros | Functions
ioccom.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IOCPARM_SHIFT   13 /* number of bits for ioctl size */
 
#define IOCPARM_MASK   ((1 << IOCPARM_SHIFT) - 1) /* parameter length mask */
 
#define IOCPARM_LEN(x)   (((x) >> 16) & IOCPARM_MASK)
 
#define IOCBASECMD(x)   ((x) & ~(IOCPARM_MASK << 16))
 
#define IOCGROUP(x)   (((x) >> 8) & 0xff)
 
#define IOCPARM_MAX   (1 << IOCPARM_SHIFT) /* max size of ioctl */
 
#define IOC_VOID   0x20000000 /* no parameters */
 
#define IOC_OUT   0x40000000 /* copy out parameters */
 
#define IOC_IN   0x80000000 /* copy in parameters */
 
#define IOC_INOUT   (IOC_IN|IOC_OUT)
 
#define IOC_DIRMASK   (IOC_VOID|IOC_OUT|IOC_IN)
 
#define _IOC(inout, group, num, len)
 
#define _IO(g, n)   _IOC(IOC_VOID, (g), (n), 0)
 
#define _IOWINT(g, n)   _IOC(IOC_VOID, (g), (n), sizeof(int))
 
#define _IOR(g, n, t)   _IOC(IOC_OUT, (g), (n), sizeof(t))
 
#define _IOW(g, n, t)   _IOC(IOC_IN, (g), (n), sizeof(t))
 
#define _IOWR(g, n, t)   _IOC(IOC_INOUT, (g), (n), sizeof(t))
 

Functions

int ioctl (int fd, int request,...)
 

Macro Definition Documentation

◆ IOCPARM_SHIFT

#define IOCPARM_SHIFT   13 /* number of bits for ioctl size */

Definition at line 8 of file ioccom.h.

◆ IOCPARM_MASK

#define IOCPARM_MASK   ((1 << IOCPARM_SHIFT) - 1) /* parameter length mask */

Definition at line 9 of file ioccom.h.

◆ IOCPARM_LEN

#define IOCPARM_LEN (   x)    (((x) >> 16) & IOCPARM_MASK)

Definition at line 10 of file ioccom.h.

◆ IOCBASECMD

#define IOCBASECMD (   x)    ((x) & ~(IOCPARM_MASK << 16))

Definition at line 11 of file ioccom.h.

◆ IOCGROUP

#define IOCGROUP (   x)    (((x) >> 8) & 0xff)

Definition at line 12 of file ioccom.h.

◆ IOCPARM_MAX

#define IOCPARM_MAX   (1 << IOCPARM_SHIFT) /* max size of ioctl */

Definition at line 14 of file ioccom.h.

◆ IOC_VOID

#define IOC_VOID   0x20000000 /* no parameters */

Definition at line 15 of file ioccom.h.

◆ IOC_OUT

#define IOC_OUT   0x40000000 /* copy out parameters */

Definition at line 16 of file ioccom.h.

◆ IOC_IN

#define IOC_IN   0x80000000 /* copy in parameters */

Definition at line 17 of file ioccom.h.

◆ IOC_INOUT

#define IOC_INOUT   (IOC_IN|IOC_OUT)

Definition at line 18 of file ioccom.h.

◆ IOC_DIRMASK

#define IOC_DIRMASK   (IOC_VOID|IOC_OUT|IOC_IN)

Definition at line 19 of file ioccom.h.

◆ _IOC

#define _IOC (   inout,
  group,
  num,
  len 
)
Value:
((int) \
((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
#define IOCPARM_MASK
Definition: ioccom.h:9

Definition at line 21 of file ioccom.h.

◆ _IO

#define _IO (   g,
 
)    _IOC(IOC_VOID, (g), (n), 0)

Definition at line 23 of file ioccom.h.

◆ _IOWINT

#define _IOWINT (   g,
 
)    _IOC(IOC_VOID, (g), (n), sizeof(int))

Definition at line 24 of file ioccom.h.

◆ _IOR

#define _IOR (   g,
  n,
 
)    _IOC(IOC_OUT, (g), (n), sizeof(t))

Definition at line 25 of file ioccom.h.

◆ _IOW

#define _IOW (   g,
  n,
 
)    _IOC(IOC_IN, (g), (n), sizeof(t))

Definition at line 26 of file ioccom.h.

◆ _IOWR

#define _IOWR (   g,
  n,
 
)    _IOC(IOC_INOUT, (g), (n), sizeof(t))

Definition at line 28 of file ioccom.h.

Function Documentation

◆ ioctl()

int ioctl ( int  fd,
int  request,
  ... 
)