Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / include / acess / sys.h
index fd219bc..cdd0187 100644 (file)
 # 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 ---

UCC git Repository :: git.ucc.asn.au