xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/asm-generic/ioctl.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI_ASM_GENERIC_IOCTL_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI_ASM_GENERIC_IOCTL_H
9*cda5da8dSAndroid Build Coastguard Worker #define _IOC_NRBITS 8
10*cda5da8dSAndroid Build Coastguard Worker #define _IOC_TYPEBITS 8
11*cda5da8dSAndroid Build Coastguard Worker #ifndef _IOC_SIZEBITS
12*cda5da8dSAndroid Build Coastguard Worker #define _IOC_SIZEBITS 14
13*cda5da8dSAndroid Build Coastguard Worker #endif
14*cda5da8dSAndroid Build Coastguard Worker #ifndef _IOC_DIRBITS
15*cda5da8dSAndroid Build Coastguard Worker #define _IOC_DIRBITS 2
16*cda5da8dSAndroid Build Coastguard Worker #endif
17*cda5da8dSAndroid Build Coastguard Worker #define _IOC_NRMASK ((1 << _IOC_NRBITS) - 1)
18*cda5da8dSAndroid Build Coastguard Worker #define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS) - 1)
19*cda5da8dSAndroid Build Coastguard Worker #define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS) - 1)
20*cda5da8dSAndroid Build Coastguard Worker #define _IOC_DIRMASK ((1 << _IOC_DIRBITS) - 1)
21*cda5da8dSAndroid Build Coastguard Worker #define _IOC_NRSHIFT 0
22*cda5da8dSAndroid Build Coastguard Worker #define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS)
23*cda5da8dSAndroid Build Coastguard Worker #define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS)
24*cda5da8dSAndroid Build Coastguard Worker #define _IOC_DIRSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS)
25*cda5da8dSAndroid Build Coastguard Worker #ifndef _IOC_NONE
26*cda5da8dSAndroid Build Coastguard Worker #define _IOC_NONE 0U
27*cda5da8dSAndroid Build Coastguard Worker #endif
28*cda5da8dSAndroid Build Coastguard Worker #ifndef _IOC_WRITE
29*cda5da8dSAndroid Build Coastguard Worker #define _IOC_WRITE 1U
30*cda5da8dSAndroid Build Coastguard Worker #endif
31*cda5da8dSAndroid Build Coastguard Worker #ifndef _IOC_READ
32*cda5da8dSAndroid Build Coastguard Worker #define _IOC_READ 2U
33*cda5da8dSAndroid Build Coastguard Worker #endif
34*cda5da8dSAndroid Build Coastguard Worker #define _IOC(dir,type,nr,size) (((dir) << _IOC_DIRSHIFT) | ((type) << _IOC_TYPESHIFT) | ((nr) << _IOC_NRSHIFT) | ((size) << _IOC_SIZESHIFT))
35*cda5da8dSAndroid Build Coastguard Worker #define _IOC_TYPECHECK(t) (sizeof(t))
36*cda5da8dSAndroid Build Coastguard Worker #define _IO(type,nr) _IOC(_IOC_NONE, (type), (nr), 0)
37*cda5da8dSAndroid Build Coastguard Worker #define _IOR(type,nr,size) _IOC(_IOC_READ, (type), (nr), (_IOC_TYPECHECK(size)))
38*cda5da8dSAndroid Build Coastguard Worker #define _IOW(type,nr,size) _IOC(_IOC_WRITE, (type), (nr), (_IOC_TYPECHECK(size)))
39*cda5da8dSAndroid Build Coastguard Worker #define _IOWR(type,nr,size) _IOC(_IOC_READ | _IOC_WRITE, (type), (nr), (_IOC_TYPECHECK(size)))
40*cda5da8dSAndroid Build Coastguard Worker #define _IOR_BAD(type,nr,size) _IOC(_IOC_READ, (type), (nr), sizeof(size))
41*cda5da8dSAndroid Build Coastguard Worker #define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE, (type), (nr), sizeof(size))
42*cda5da8dSAndroid Build Coastguard Worker #define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ | _IOC_WRITE, (type), (nr), sizeof(size))
43*cda5da8dSAndroid Build Coastguard Worker #define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
44*cda5da8dSAndroid Build Coastguard Worker #define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
45*cda5da8dSAndroid Build Coastguard Worker #define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
46*cda5da8dSAndroid Build Coastguard Worker #define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
47*cda5da8dSAndroid Build Coastguard Worker #define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
48*cda5da8dSAndroid Build Coastguard Worker #define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
49*cda5da8dSAndroid Build Coastguard Worker #define IOC_INOUT ((_IOC_WRITE | _IOC_READ) << _IOC_DIRSHIFT)
50*cda5da8dSAndroid Build Coastguard Worker #define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
51*cda5da8dSAndroid Build Coastguard Worker #define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
52*cda5da8dSAndroid Build Coastguard Worker #endif
53