aboutsummaryrefslogtreecommitdiff
path: root/lib/sys/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sys/types.h')
-rw-r--r--lib/sys/types.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/sys/types.h b/lib/sys/types.h
new file mode 100644
index 0000000..0aafec5
--- /dev/null
+++ b/lib/sys/types.h
@@ -0,0 +1,19 @@
+#ifndef TYPES_H
+#define TYPES_H
+
+#include "sizes.h"
+
+typedef u64 dev_t;
+typedef u32 mode_t;
+
+static dev_t inline device(dev_t major, dev_t minor)
+{
+ dev_t dev;
+ dev = (((dev_t) (major & 0x00000fffu)) << 8);
+ dev |= (((dev_t) (major & 0xfffff000u)) << 32);
+ dev |= (((dev_t) (minor & 0x000000ffu)) << 0);
+ dev |= (((dev_t) (minor & 0xffffff00u)) << 12);
+ return dev;
+}
+
+#endif