Generic ioctl.h
PATCH 1/1 Generic ioctl.h
Most arches copied the i386 ioctl.h. Combine them into a generic header.
---
commit fec8726c9f690898a16e094ddf19f5e119ed44b8
tree 81c772242e0622d3f892b484908f03a21148da93
parent 25b9d12fb87201e1fb11501a383e9cf62f37d21c
author Brian Gerst <[email protected]> Thu, 29 Dec 2005 13:12:45 -0500 committer Brian Gerst <[email protected]> Thu, 29 Dec 2005 13:12:45 -0500
include/asm-arm/ioctl.h | 75 ----------------------------------- include/asm-arm26/ioctl.h | 75 ----------------------------------- include/asm-cris/ioctl.h | 84 --------------------------------------- include/asm-frv/ioctl.h | 81 ------------------------------------- include/asm-generic/ioctl.h | 80 +++++++++++++++++++++++++++++++++++++ include/asm-h8300/ioctl.h | 81 ------------------------------------- include/asm-i386/ioctl.h | 86 ---------------------------------------- include/asm-ia64/ioctl.h | 78 ------------------------------------ include/asm-m32r/ioctl.h | 79 ------------------------------------ include/asm-m68k/ioctl.h | 81 ------------------------------------- include/asm-m68knommu/ioctl.h | 2 - include/asm-s390/ioctl.h | 89 ----------------------------------------- include/asm-sh/ioctl.h | 76 ----------------------------------- include/asm-sh64/ioctl.h | 84 --------------------------------------- include/asm-v850/ioctl.h | 81 ------------------------------------- include/asm-x86_64/ioctl.h | 76 ----------------------------------- include/asm-xtensa/ioctl.h | 84 --------------------------------------- 17 files changed, 96 insertions(+), 1196 deletions(-)
include/asm-arm/ioctl.h +1 -74
@@ -1,74 +1 @@ -/* -* linux/ioctl.h for Linux by H.H. Bergman. -*/ - -#ifndef _ASMARM_IOCTL_H -#define _ASMARM_IOCTL_H - -/* ioctl command encoding: 32 bits total, command in lower 16 bits, -* size of the parameter structure in the lower 14 bits of the -* upper 16 bits. -* Encoding the size of the parameter structure in the ioctl request -* is useful for catching programs compiled with old versions -* and to avoid overwriting user space outside the user buffer area. -* The highest 2 bits are reserved for indicating the ``access mode''. -* NOTE: This limits the max parameter size to 16kB -1 ! -*/ - -/* -* The following is for compatibility across the various Linux -* platforms. The i386 ioctl numbering scheme doesn't really enforce -* a type field. De facto, however, the top 8 bits of the lower 16 -* bits are indeed used as a type field, so we might just as well make -* this explicit here. Please be sure to use the decoding macros -* below from now on. -*/ -#define _IOC_NRBITS 8 -#define _IOC_TYPEBITS 8 -#define _IOC_SIZEBITS 14 -#define _IOC_DIRBITS 2 - -#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) -#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1) -#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1) -#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1) - -#define _IOC_NRSHIFT 0 -#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS) -#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS) -#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS) - -/* -* Direction bits. -*/ -#define _IOC_NONE 0U -#define _IOC_WRITE 1U -#define _IOC_READ 2U - -#define _IOC (dir,type,nr,size) \ - (((dir) << _IOC_DIRSHIFT) | \ - ((type) << _IOC_TYPESHIFT) | \ - ((nr) << _IOC_NRSHIFT) | \ - ((size) << _IOC_SIZESHIFT)) - -/* used to create numbers */ -#define _IO (type,nr) _IOC(_IOC_NONE,(type),(nr),0) -#define _IOR (type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) -#define _IOW (type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) -#define _IOWR (type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) - -/* used to decode ioctl numbers.. */ -#define _IOC_DIR (nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) -#define _IOC_TYPE (nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) -#define _IOC_NR (nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE (nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK) - -/* ...and for the drivers/sound files... */ - -#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) -#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT) -#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) -#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT) -#define IOCSIZE_SHIFT (_IOC_SIZESHIFT) - -#endif /* _ASMARM_IOCTL_H */ +#include <asm-generic/ioctl.h>
include/asm-arm26/ioctl.h +1 -74
75 lines not on this page · raw message
include/asm-cris/ioctl.h +1 -83
84 lines not on this page · raw message
include/asm-frv/ioctl.h +1 -80
81 lines not on this page · raw message
include/asm-generic/ioctl.h new file +80 -0
80 lines not on this page · raw message
include/asm-h8300/ioctl.h +1 -80
81 lines not on this page · raw message
include/asm-i386/ioctl.h +1 -85
86 lines not on this page · raw message
include/asm-ia64/ioctl.h +1 -77
78 lines not on this page · raw message
include/asm-m32r/ioctl.h +1 -78
79 lines not on this page · raw message
include/asm-m68k/ioctl.h +1 -80
81 lines not on this page · raw message
include/asm-m68knommu/ioctl.h +1 -1
@@ -1 +1 @@ -#include <asm-m68k/ioctl.h> +#include <asm-generic/ioctl.h>
include/asm-s390/ioctl.h +1 -88
89 lines not on this page · raw message
include/asm-sh/ioctl.h +1 -75
76 lines not on this page · raw message
include/asm-sh64/ioctl.h +1 -83
84 lines not on this page · raw message
include/asm-v850/ioctl.h +1 -80
81 lines not on this page · raw message
include/asm-x86_64/ioctl.h +1 -75
76 lines not on this page · raw message
include/asm-xtensa/ioctl.h +1 -83
84 lines not on this page · raw message