404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.140.188.79: ~ $
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _ALPHA_IOCTL_H
#define _ALPHA_IOCTL_H

/*
 * The original linux ioctl numbering scheme was just a general
 * "anything goes" setup, where more or less random numbers were
 * assigned.  Sorry, I was clueless when I started out on this.
 *
 * On the alpha, we'll try to clean it up a bit, using a more sane
 * ioctl numbering, and also trying to be compatible with OSF/1 in
 * the process. I'd like to clean it up for the i386 as well, but
 * it's so painful recognizing both the new and the old numbers..
 */

#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)			\
	((unsigned int)				\
	 (((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 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)

/* ...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 /* _ALPHA_IOCTL_H */

Filemanager

Name Type Size Permission Actions
Kbuild File 101 B 0644
a.out.h File 2 KB 0644
auxvec.h File 774 B 0644
bitsperlong.h File 237 B 0644
byteorder.h File 194 B 0644
compiler.h File 4.12 KB 0644
console.h File 1.15 KB 0644
errno.h File 5.31 KB 0644
fcntl.h File 1.86 KB 0644
fpu.h File 4.52 KB 0644
gentrap.h File 1.43 KB 0644
ioctl.h File 2.3 KB 0644
ioctls.h File 4.32 KB 0644
ipcbuf.h File 95 B 0644
kvm_para.h File 97 B 0644
mman.h File 3.45 KB 0644
msgbuf.h File 922 B 0644
pal.h File 1.01 KB 0644
param.h File 313 B 0644
poll.h File 93 B 0644
posix_types.h File 513 B 0644
ptrace.h File 1.66 KB 0644
reg.h File 1005 B 0644
regdef.h File 1.04 KB 0644
resource.h File 761 B 0644
sembuf.h File 670 B 0644
setup.h File 1.43 KB 0644
shmbuf.h File 1.08 KB 0644
sigcontext.h File 891 B 0644
siginfo.h File 468 B 0644
signal.h File 3.08 KB 0644
socket.h File 2.54 KB 0644
sockios.h File 497 B 0644
stat.h File 1.05 KB 0644
statfs.h File 314 B 0644
swab.h File 1.25 KB 0644
sysinfo.h File 775 B 0644
termbits.h File 5.14 KB 0644
termios.h File 1.49 KB 0644
types.h File 884 B 0644
unistd.h File 14.99 KB 0644