2 * Acess2 System Interface Header
10 #define OPENFLAG_EXEC 0x01
11 #define OPENFLAG_READ 0x02
12 #define OPENFLAG_WRITE 0x04
13 #define OPENFLAG_NOLINK 0x40
14 #define OPENFLAG_CREATE 0x40
21 #define GETMSG_IGNORE ((void*)-1)
22 #define FILEFLAG_DIRECTORY 0x10
23 #define FILEFLAG_SYMLINK 0x20
50 struct s_sysACL acls[];
52 typedef struct s_sysFInfo t_sysFInfo;
53 typedef struct s_sysACL t_sysACL;
56 extern void _SysDebug(char *str, ...);
58 extern void _exit(int status) __attribute__((noreturn));
61 extern void wait(int miliseconds);
62 extern int waittid(int id, int *status);
63 extern int clone(int flags, void *stack);
64 extern int execve(char *path, char **argv, char **envp);
68 // --- Permissions ---
71 extern void setuid(int id);
72 extern void setgid(int id);
75 extern int chdir(const char *dir);
76 extern int open(const char *path, int flags);
77 extern int reopen(int fd, const char *path, int flags);
78 extern void close(int fd);
79 extern uint read(int fd, uint length, void *buffer);
80 extern uint write(int fd, uint length, void *buffer);
81 extern int seek(int fd, uint64_t offset, int whence);
82 extern uint64_t tell(int fd);
83 extern int ioctl(int fd, int id, void *data);
84 extern int finfo(int fd, t_sysFInfo *info, int maxacls);
85 extern int readdir(int fd, char *dest);
86 extern int _SysGetACL(int fd, t_sysACL *dest);
87 extern int _SysMount(const char *Device, const char *Directory, const char *Type, const char *Options);
90 extern int SysSendMessage(int dest, int length, void *Data);
91 extern int SysGetMessage(int *src, void *Data);
94 uint64_t _SysGetPhys(uint vaddr);
95 uint64_t _SysAllocate(uint vaddr);