X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2Finclude%2Facess%2Fsys.h;h=368524a462201f6e6e9d0bd2df538c6f3d98f452;hb=01fbfb424865291e00242681662ed9b20c33a524;hp=7f4d7dbfc38c460e564f264156e51b06c49be569;hpb=52a9bf348782b041daa6b783356fe05833582379;p=tpg%2Facess2.git diff --git a/Usermode/include/acess/sys.h b/Usermode/include/acess/sys.h index 7f4d7dbf..368524a4 100644 --- a/Usermode/include/acess/sys.h +++ b/Usermode/include/acess/sys.h @@ -1,17 +1,22 @@ /* * Acess2 System Interface Header */ -#ifndef _SYS_SYS_H_ -#define _SYS_SYS_H_ +#ifndef _ACESS_SYS_H_ +#define _ACESS_SYS_H_ #include +#include // === CONSTANTS === +#ifndef NULL +# define NULL ((void*)0) +#endif + #define OPENFLAG_EXEC 0x01 #define OPENFLAG_READ 0x02 #define OPENFLAG_WRITE 0x04 #define OPENFLAG_NOLINK 0x40 -#define OPENFLAG_CREATE 0x40 +#define OPENFLAG_CREATE 0x80 #ifndef SEEK_CUR # define SEEK_SET 1 # define SEEK_CUR 0 @@ -56,7 +61,7 @@ typedef struct s_sysACL t_sysACL; extern int _errno; // === FUNCTIONS === -extern void _SysDebug(char *str, ...); +extern void _SysDebug(const char *format, ...); // --- Proc --- extern void _exit(int status) __attribute__((noreturn)); extern void sleep(); @@ -67,6 +72,7 @@ extern int clone(int flags, void *stack); extern int execve(char *path, char **argv, char **envp); extern int gettid(); extern int getpid(); +extern int _SysSetFaultHandler(int (*Handler)(int)); // --- Permissions --- extern int getuid(); @@ -81,17 +87,18 @@ 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 seek(int fd, uint64_t offset, int whence); +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); extern int finfo(int fd, t_sysFInfo *info, int maxacls); 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); // --- IPC --- -extern int SysSendMessage(int dest, int length, void *Data); -extern int SysGetMessage(int *src, void *Data); +extern int SysSendMessage(pid_t dest, uint length, void *Data); +extern int SysGetMessage(pid_t *src, void *Data); // --- MEMORY --- uint64_t _SysGetPhys(uint vaddr);