提交 2c184264 编写于 作者: R Rich Felker

support full range of dev_t major/minor numbers in makedev, etc. macros

上级 2897bfdd
#ifndef _SYS_SYSMACROS_H
#define _SYS_SYSMACROS_H
#define major(x) ((unsigned)((x) >> 8) & 0xff)
#define minor(x) ((unsigned)(x) & 0xff)
#define makedev(x,y) (((x)<<8)|((y)&0xff))
#define major(x) \
((unsigned)( (((x)>>32) & 0xfffff000) | (((x)>>8) & 0x00000fff) ))
#define minor(x) \
((unsigned)( (((x)>>12) & 0xffffff00) | ((x) & 0x000000ff) ))
#define makedev(x,y) ( \
(((x)&0xfffff000ULL) << 32) | \
(((x)&0x00000fffULL) << 8) | \
(((y)&0xffffff00ULL) << 12) | \
(((y)&0x000000ffULL)) )
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册