X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fsys%2Fsysmacros.h;h=07a3ef183cb63eaa3b4bd62671a8a0e010ca89da;hb=4cd8b4725907651f329e2f96d428c4e3521643f8;hp=65ab60cd8456fe4cfbaeaa6dd1fb49c8789304a2;hpb=57d5fff5f7dd9af27152c84ce041c18597a22766;p=musl diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h index 65ab60cd..07a3ef18 100644 --- a/include/sys/sysmacros.h +++ b/include/sys/sysmacros.h @@ -1,8 +1,15 @@ #ifndef _SYS_SYSMACROS_H #define _SYS_SYSMACROS_H -#define major(x) (((x) >> 8) & 0xff) -#define minor(x) ((x) & 0xff) -#define makedev(x,y) (((x)<<8)|((y)&0xff)) +#define major(x) \ + ((unsigned)( (((x)>>31>>1) & 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