#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