aboutsummaryrefslogtreecommitdiff
path: root/lib/sys/types.h
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2023-02-11 14:55:28 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2023-02-11 14:55:28 +0100
commitf887d2f38b205237cbd03ce921aff7a79986e2ff (patch)
tree56c55cfd55815a70814793d37c4873974e693703 /lib/sys/types.h
parenta121299c2ad417b238b7c20d30f4cf064e3700fd (diff)
add mknod
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