X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Facess%2Fsys.h;h=cdd01879e5fd5028f66e8a843194b4d5d4f26a82;hb=a41f3e5efdf853726d078dc03550de40e9d63bdd;hp=fd219bcab3094037a4a7e7f06ab812d1679fb0b7;hpb=3764c294f21229bdf700f436fa4884f5e76e0d3a;p=tpg%2Facess2.git diff --git a/Usermode/include/acess/sys.h b/Usermode/include/acess/sys.h index fd219bca..cdd01879 100644 --- a/Usermode/include/acess/sys.h +++ b/Usermode/include/acess/sys.h @@ -12,6 +12,10 @@ # define NULL ((void*)0) #endif +#define THREAD_EVENT_VFS 0x0001 +#define THREAD_EVENT_IPCMSG 0x0002 +#define THREAD_EVENT_SIGNAL 0x0004 + #define OPENFLAG_EXEC 0x01 #define OPENFLAG_READ 0x02 #define OPENFLAG_WRITE 0x04 @@ -35,32 +39,34 @@ extern int _errno; extern void _SysDebug(const char *format, ...); // --- Proc --- extern void _exit(int status) __attribute__((noreturn)); -extern void sleep(); -extern void yield(); +extern void sleep(void); +extern void yield(void); extern int kill(int pid, int sig); -extern void wait(int miliseconds); +//extern void wait(int miliseconds); +extern int _SysWaitEvent(int EventMask); extern int waittid(int id, int *status); extern int clone(int flags, void *stack); extern int execve(char *path, char **argv, char **envp); -extern int gettid(); -extern int getpid(); +extern int _SysSpawn(const char *Path, const char **argv, const char **envp, int nFDs, int *FDs); +extern int gettid(void); +extern int getpid(void); extern int _SysSetFaultHandler(int (*Handler)(int)); extern void SysSetName(const char *Name); //extern int SysGetName(const char *Name); // --- Permissions --- -extern int getuid(); -extern int getgid(); +extern int getuid(void); +extern int getgid(void); extern void setuid(int id); extern void setgid(int id); // --- VFS --- extern int chdir(const char *dir); -extern int open(const char *path, int flags); +extern int open(const char *path, int flags, ...); extern int reopen(int fd, const char *path, int flags); -extern void close(int fd); -extern uint read(int fd, uint length, void *buffer); -extern uint write(int fd, uint length, void *buffer); +extern int close(int fd); +extern uint read(int fd, void *buffer, uint length); +extern uint write(int fd, const void *buffer, uint length); extern int seek(int fd, int64_t offset, int whence); extern uint64_t tell(int fd); extern int ioctl(int fd, int id, void *data); @@ -69,10 +75,11 @@ 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); +extern int _SysSelect(int nfds, fd_set *read, fd_set *write, fd_set *err, time_t *timeout, int extraevents); +#define select(nfs, rdfds, wrfds, erfds, timeout) _SysSelect(nfs, rdfds, wrfds, erfds, timeout, 0) // --- IPC --- -extern int SysSendMessage(pid_t dest, uint length, void *Data); +extern int SysSendMessage(pid_t dest, uint length, const void *Data); extern int SysGetMessage(pid_t *src, void *Data); // --- MEMORY ---