X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Facess%2Fsys.h;h=05f717b1018b57e6e675e39b7dbe3ab68d2f053a;hb=aa09c2350becd947a7e51fd0bdac945f4aa42d2a;hp=4431e0b9bc6c97ecfe6ef559d39e39b8c33b182b;hpb=149b37ab41da1105db27303b38c43eb237b779da;p=tpg%2Facess2.git diff --git a/Usermode/include/acess/sys.h b/Usermode/include/acess/sys.h index 4431e0b9..05f717b1 100644 --- a/Usermode/include/acess/sys.h +++ b/Usermode/include/acess/sys.h @@ -16,16 +16,22 @@ #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; @@ -33,6 +39,8 @@ typedef struct s_sysFInfo t_sysFInfo; 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 --- @@ -43,7 +51,8 @@ uint64_t read(int fd, uint64_t length, void *buffer); 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);