ioccom.h
来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 35 行
H
35 行
#ifndef _OSKIT_C_SYS_IOCCOM_H_#define _OSKIT_C_SYS_IOCCOM_H_#include <oskit/compiler.h>/* * Ioctl's have the command encoded in the lower word, and the size of * any in or out parameters in the upper word. The high 3 bits of the * upper word are used to encode the in/out status of the parameter. */#define IOCPARM_MASK 0x1fff /* parameter length, at most 13 bits */#define IOCPARM_LEN(x) (((x) >> 16) & IOCPARM_MASK)#define IOCBASECMD(x) ((x) & ~(IOCPARM_MASK << 16))#define IOCGROUP(x) (((x) >> 8) & 0xff)#define IOC_VOID 0x20000000 /* no parameters */#define IOC_OUT 0x40000000 /* copy out parameters */#define IOC_IN 0x80000000 /* copy in parameters */#define IOC_INOUT (IOC_IN|IOC_OUT)#define IOC_DIRMASK 0xe0000000 /* mask for IN/OUT/VOID */#define _IOC(inout,group,num,len) \ (inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num))#define _IO(g,n) _IOC(IOC_VOID, (g), (n), 0)#define _IOR(g,n,t) _IOC(IOC_OUT, (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 */#define _IOWR(g,n,t) _IOC(IOC_INOUT, (g), (n), sizeof(t))OSKIT_BEGIN_DECLSint ioctl (int, unsigned long, ...);OSKIT_END_DECLS#endif /* _OSKIT_C_SYS_IOCCOM_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?