Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/ioccom.h
Show First 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | |||||
#define _IOC(inout,group,num,len) ((unsigned long) \ | #define _IOC(inout,group,num,len) ((unsigned long) \ | ||||
((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num))) | ((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num))) | ||||
#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0) | #define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0) | ||||
#define _IOWINT(g,n) _IOC(IOC_VOID, (g), (n), sizeof(int)) | #define _IOWINT(g,n) _IOC(IOC_VOID, (g), (n), sizeof(int)) | ||||
#define _IOR(g,n,t) _IOC(IOC_OUT, (g), (n), sizeof(t)) | #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 _IOW(g,n,t) _IOC(IOC_IN, (g), (n), sizeof(t)) | ||||
/* this should be _IORW, but stdio got there first */ | /* this should be _IORW, but stdio got there first */ | ||||
#define _IOWR(g,n,t) _IOC(IOC_INOUT, (g), (n), sizeof(t)) | #define _IOWR(g,n,t) _IOC(IOC_INOUT, (g), (n), sizeof(t)) | ||||
/* Replace length/type in an ioctl command. */ | |||||
#define _IOC_NEWLEN(ioc, len) \ | |||||
(((~(IOCPARM_MASK << 16)) & (ioc)) | (((len) & IOCPARM_MASK) << 16)) | |||||
#define _IOC_NEWTYPE(ioc, type) _IOC_NEWLEN((ioc), sizeof(type)) | |||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ | #if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) || \ | ||||
defined(COMPAT_FREEBSD4) || defined(COMPAT_43) | defined(COMPAT_FREEBSD4) || defined(COMPAT_43) | ||||
#define IOCPARM_IVAL(x) ((int)(intptr_t)(void *)*(caddr_t *)(void *)(x)) | #define IOCPARM_IVAL(x) ((int)(intptr_t)(void *)*(caddr_t *)(void *)(x)) | ||||
#endif | #endif | ||||
Show All 11 Lines |