X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Facess%2Fsys.h;h=fd219bcab3094037a4a7e7f06ab812d1679fb0b7;hb=846645bd8f738dc22641e96866fffd2f59b5639b;hp=368524a462201f6e6e9d0bd2df538c6f3d98f452;hpb=b98fbd4e9c71447d81fc9bd643fb174c76346e0f;p=tpg%2Facess2.git diff --git a/Usermode/include/acess/sys.h b/Usermode/include/acess/sys.h index 368524a4..fd219bca 100644 --- a/Usermode/include/acess/sys.h +++ b/Usermode/include/acess/sys.h @@ -5,7 +5,7 @@ #define _ACESS_SYS_H_ #include -#include +#include "../sys/types.h" // === CONSTANTS === #ifndef NULL @@ -22,40 +22,11 @@ # define SEEK_CUR 0 # define SEEK_END -1 #endif -#define CLONE_VM 0x10 #define GETMSG_IGNORE ((void*)-1) #define FILEFLAG_DIRECTORY 0x10 #define FILEFLAG_SYMLINK 0x20 // === TYPES === -struct s_sysACL { - union { - struct { - unsigned group: 1; - unsigned id: 31; - }; - uint32_t object; - }; - union { - struct { - unsigned invert: 1; - unsigned perms: 31; - }; - uint32_t rawperms; - }; -}; -struct s_sysFInfo { - uint uid, gid; - uint flags; - uint64_t size; - uint64_t atime; - uint64_t mtime; - uint64_t ctime; - int numacls; - struct s_sysACL acls[]; -}; -typedef struct s_sysFInfo t_sysFInfo; -typedef struct s_sysACL t_sysACL; // === VARIABLES === extern int _errno; @@ -66,6 +37,7 @@ extern void _SysDebug(const char *format, ...); extern void _exit(int status) __attribute__((noreturn)); extern void sleep(); extern void yield(); +extern int kill(int pid, int sig); extern void wait(int miliseconds); extern int waittid(int id, int *status); extern int clone(int flags, void *stack); @@ -73,6 +45,8 @@ extern int execve(char *path, char **argv, char **envp); extern int gettid(); extern int getpid(); extern int _SysSetFaultHandler(int (*Handler)(int)); +extern void SysSetName(const char *Name); +//extern int SysGetName(const char *Name); // --- Permissions --- extern int getuid(); @@ -95,6 +69,7 @@ extern int readdir(int fd, char *dest); extern int _SysOpenChild(int fd, char *name, int flags); extern int _SysGetACL(int fd, t_sysACL *dest); extern int _SysMount(const char *Device, const char *Directory, const char *Type, const char *Options); +extern int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errfds, time_t *timeout); // --- IPC --- extern int SysSendMessage(pid_t dest, uint length, void *Data);