chiark / gitweb /
volume_id: provide libvolume_id.a file
[elogind.git] / klibc / include / sys / sysmacros.h
1 /*
2  * sys/sysmacros.h
3  *
4  * Constructs to create and pick apart dev_t.  This applies to the Linux 2.6
5  * 32-bit dev_t format.
6  */
7
8 #ifndef _SYS_SYSMACROS_H
9 #define _SYS_SYSMACROS_H
10
11 #ifndef _SYS_TYPES_H
12 # include <sys/types.h>
13 #endif
14
15 static __inline__ int major(dev_t __d)
16 {
17   return (__d >> 8) & 0xfff;
18 }
19
20 static __inline__ int minor(dev_t __d)
21 {
22   return (__d & 0xff) | ((__d >> 12) & 0xfff00);
23 }
24
25 static __inline__ dev_t makedev(int __ma, int __mi)
26 {
27   return ((__ma & 0xfff) << 8) | (__mi & 0xff) | ((__mi & 0xfff00) << 12);
28 }
29
30 #endif /* _SYS_SYSMACROS_H */
31