diff options
Diffstat (limited to 'klibc/include/sys/sysmacros.h')
-rw-r--r-- | klibc/include/sys/sysmacros.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/klibc/include/sys/sysmacros.h b/klibc/include/sys/sysmacros.h new file mode 100644 index 0000000000..7f1e0822b3 --- /dev/null +++ b/klibc/include/sys/sysmacros.h @@ -0,0 +1,31 @@ +/* + * sys/sysmacros.h + * + * Constructs to create and pick apart dev_t. This applies to the Linux 2.6 + * 32-bit dev_t format. + */ + +#ifndef _SYS_SYSMACROS_H +#define _SYS_SYSMACROS_H + +#ifndef _SYS_TYPES_H +# include <sys/types.h> +#endif + +static __inline__ int major(dev_t __d) +{ + return (__d >> 8) & 0xfff; +} + +static __inline__ int minor(dev_t __d) +{ + return (__d & 0xff) | ((__d >> 12) & 0xfff00); +} + +static __inline__ dev_t makedev(int __ma, int __mi) +{ + return ((__ma & 0xfff) << 8) | (__mi & 0xff) | ((__mi & 0xfff00) << 12); +} + +#endif /* _SYS_SYSMACROS_H */ + |