X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Facess%2Fsys.h;h=707e5bb454daed8de8aa53840c8d4df0faae41ae;hb=91dd38c34820c03311738439125675d59bf9e3f1;hp=62e145e710b818563c2348b8b327faf453229c72;hpb=ac1f47d1946550a734222165148bebd1cb7ff205;p=tpg%2Facess2.git diff --git a/Usermode/include/acess/sys.h b/Usermode/include/acess/sys.h index 62e145e7..707e5bb4 100644 --- a/Usermode/include/acess/sys.h +++ b/Usermode/include/acess/sys.h @@ -11,9 +11,11 @@ #define OPENFLAG_READ 0x02 #define OPENFLAG_WRITE 0x04 #define OPENFLAG_NOLINK 0x40 -#define SEEK_SET 1 -#define SEEK_CUR 0 -#define SEEK_END -1 +#ifndef SEEK_CUR +# define SEEK_SET 1 +# define SEEK_CUR 0 +# define SEEK_END -1 +#endif #define CLONE_VM 0x10 #define FILEFLAG_DIRECTORY 0x10 #define FILEFLAG_SYMLINK 0x20 @@ -26,14 +28,14 @@ struct s_sysACL { unsigned id: 31; }; uint32_t object; - } + }; union { struct { unsigned invert: 1; unsigned perms: 31; }; uint32_t rawperms; - } + }; }; struct s_sysFInfo { uint uid, gid; @@ -51,12 +53,16 @@ typedef struct s_sysACL t_sysACL; // === FUNCTIONS === void _SysDebug(char *str, ...); // --- Proc --- +void _exit(int status) __attribute__((noreturn)); 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); +void setuid(int id); +void setgid(int id); // --- VFS --- + int chdir(char *dir); int open(char *path, int flags); int reopen(int fd, char *path, int flags); void close(int fd);