diff options
author | H. Peter Anvin <hpa@zytor.com> | 2004-02-09 06:03:41 +0000 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2004-02-09 06:03:41 +0000 |
commit | d3dde00040cc139c8c8d10b63985f298bdbb6c23 (patch) | |
tree | 4712426195165cddcb5621bfd2804070c38e9100 | |
parent | 655e50eec1a29d3e18cda0abc3b25c1009e0e2c6 (diff) | |
download | klibc-d3dde00040cc139c8c8d10b63985f298bdbb6c23.tar.gz |
Add the appropriate inline functions for dev_t manipulationklibc-0.105
-rw-r--r-- | include/sys/sysmacros.h | 31 | ||||
-rw-r--r-- | include/sys/types.h | 5 | ||||
-rw-r--r-- | klibc/include/sys/sysmacros.h | 31 | ||||
-rw-r--r-- | klibc/include/sys/types.h | 5 |
4 files changed, 72 insertions, 0 deletions
diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h new file mode 100644 index 0000000000000..7f1e0822b30b2 --- /dev/null +++ b/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 */ + diff --git a/include/sys/types.h b/include/sys/types.h index 88523da8aa088..0aaeeb1612b85 100644 --- a/include/sys/types.h +++ b/include/sys/types.h @@ -117,4 +117,9 @@ struct ustat { char f_fpack[6]; }; +/* + * Some apps want this in <sys/types.h> + */ +#include <sys/sysmacros.h> + #endif diff --git a/klibc/include/sys/sysmacros.h b/klibc/include/sys/sysmacros.h new file mode 100644 index 0000000000000..7f1e0822b30b2 --- /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 */ + diff --git a/klibc/include/sys/types.h b/klibc/include/sys/types.h index 88523da8aa088..0aaeeb1612b85 100644 --- a/klibc/include/sys/types.h +++ b/klibc/include/sys/types.h @@ -117,4 +117,9 @@ struct ustat { char f_fpack[6]; }; +/* + * Some apps want this in <sys/types.h> + */ +#include <sys/sysmacros.h> + #endif |