#define SEEK_END -1
#define CLONE_VM 0x10
#define FILEFLAG_DIRECTORY 0x10
+#define FILEFLAG_SYMLINK 0x20
// === TYPES ===
+struct s_sysACL {
+ uint32_t object;
+ uint32_t perms;
+};
struct s_sysFInfo {
uint uid, gid;
uint flags;
- int numacls;
uint64_t size;
uint64_t atime;
uint64_t mtime;
uint64_t ctime;
+ int numacls;
+ struct s_sysACL acls[];
};
typedef struct s_sysFInfo t_sysFInfo;
// === FUNCTIONS ===
+void _SysDebug(char *str, ...);
// --- Proc ---
void sleep();
+void wait(int miliseconds);
+ int waittid(int id, int *status);
int clone(int flags, void *stack);
int execve(char *path, char **argv, char **envp);
// --- VFS ---
uint64_t write(int fd, uint64_t length, void *buffer);
int seek(int fd, uint64_t offset, int whence);
int ioctl(int fd, int id, void *data);
- int finfo(int fd, t_sysFInfo *info);
+ int finfo(int fd, t_sysFInfo *info, int maxacls);
+ int readdir(int fd, char *dest);
// --- MEMORY ---
uint64_t _SysGetPhys(uint vaddr);