(以“== Linux == === fields === IOC_NRBITS 8 IOC_TYPEBITS 8 IOC_SIZEBITS 14 IOC_DIRBITS 2 IOC_NRSHIFT 0 IOC_TYPESHIFT IOC_NRSHIFT+IOC_NRBITS = 8 IOC_SIZESHIFT IOC_TYPESH...”为内容创建页面)
 
(没有差异)

2014年9月12日 (五) 04:50的最新版本

Linux

fields

IOC_NRBITS 8 IOC_TYPEBITS 8 IOC_SIZEBITS 14 IOC_DIRBITS 2

IOC_NRSHIFT 0 IOC_TYPESHIFT IOC_NRSHIFT+IOC_NRBITS = 8 IOC_SIZESHIFT IOC_TYPESHIFT + IOC_TYPESIZE = 16 IOC_DIRSHIFT IOC_SIZESHIFT + IOC_SIZEBITS = 30

DIR (2) | SIZE(14) | TYPE(8) | NR(8)

IOC(dir, type, nr, size) dir << dirshift | type << typeshift | nr << nrshift | size << sizeshift

direction

IOC_NONE 0 IOC_WRITE 1 IOC_READ 2

example

0x8b01 type=8b(wireless) nr=01