aboutsummaryrefslogtreecommitdiff
path: root/sys/linux/port/arch/types.h
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-11-18 13:18:38 -0800
committerNicholas Noll <nbnoll@eml.cc>2021-11-18 13:18:38 -0800
commit4bf477d5ed372fd44697d2f0df245b61b4f3f7b3 (patch)
treee52d8aa00de40b33c4f26cacba6841f299f97bb2 /sys/linux/port/arch/types.h
parent8306b655f9d9a291126ed4947c481ea540c9b835 (diff)
filling out system layer
Diffstat (limited to 'sys/linux/port/arch/types.h')
-rw-r--r--sys/linux/port/arch/types.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/sys/linux/port/arch/types.h b/sys/linux/port/arch/types.h
new file mode 100644
index 0000000..014e4cb
--- /dev/null
+++ b/sys/linux/port/arch/types.h
@@ -0,0 +1,35 @@
+#pragma once
+
+// XXX: os vs sys prefix...
+
+typedef struct os·Directory os·Directory;
+typedef struct os·DirEntry os·DirEntry;
+
+struct os·Directory
+{
+ intptr off;
+ int fd;
+ int pad;
+ int pos, end;
+ /* buf needs fall on (off_t) 8 byte alignment */
+ char buf[2048];
+};
+
+struct os·DirEntry
+{
+ ulong ino; /* inode number */
+ ulong off; /* offset to next entry (from start of directory */
+ ushort len; /* length of entry (in bytes) */
+ uchar type; /* filetype */
+ char name[]; /* filename */
+};
+
+/* types of DirEntry (last byte) */
+#define os·EntryUnknown 0
+#define os·EntryFifo 1
+#define os·EntryChar 2
+#define os·EntryDir 4
+#define os·EntryBlock 6
+#define os·EntryFile 8
+#define os·EntryLink 10
+#define os·EntrySocket 12