-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 101604 b: refs/heads/master c: 7bc228b h: refs/heads/master v: v3
- Loading branch information
Robert P. J. Day
authored and
Paul Mackerras
committed
May 16, 2008
1 parent
840c85e
commit 966cff3
Showing
2 changed files
with
2 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 0b2cca804ee40495bc92449c3e22f3c3a3f2977a | ||
refs/heads/master: 7bc228b1ef71f395aeb89bdf81bf95556b08b374 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,13 @@ | ||
#ifndef _ASM_POWERPC_IOCTL_H | ||
#define _ASM_POWERPC_IOCTL_H | ||
|
||
|
||
/* | ||
* this was copied from the alpha as it's a bit cleaner there. | ||
* -- Cort | ||
*/ | ||
|
||
#define _IOC_NRBITS 8 | ||
#define _IOC_TYPEBITS 8 | ||
#define _IOC_SIZEBITS 13 | ||
#define _IOC_DIRBITS 3 | ||
|
||
#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 _IOC_NONE could be 0, but OSF/1 gives it a bit. | ||
* And this turns out useful to catch old ioctl numbers in header | ||
* files for us. | ||
*/ | ||
#define _IOC_NONE 1U | ||
#define _IOC_READ 2U | ||
#define _IOC_WRITE 4U | ||
|
||
#define _IOC(dir,type,nr,size) \ | ||
(((dir) << _IOC_DIRSHIFT) | \ | ||
((type) << _IOC_TYPESHIFT) | \ | ||
((nr) << _IOC_NRSHIFT) | \ | ||
((size) << _IOC_SIZESHIFT)) | ||
|
||
/* provoke compile error for invalid uses of size argument */ | ||
extern unsigned int __invalid_size_argument_for_IOC; | ||
#define _IOC_TYPECHECK(t) \ | ||
((sizeof(t) == sizeof(t[1]) && \ | ||
sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ | ||
sizeof(t) : __invalid_size_argument_for_IOC) | ||
|
||
/* used to create numbers */ | ||
#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) | ||
#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size))) | ||
#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) | ||
#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size))) | ||
#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) | ||
#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) | ||
#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) | ||
|
||
/* used to decode them.. */ | ||
#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) | ||
|
||
/* various drivers, such as the pcmcia stuff, need these... */ | ||
#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) | ||
#include <asm-generic/ioctl.h> | ||
|
||
#endif /* _ASM_POWERPC_IOCTL_H */ |