X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Fld-acess.so_src%2Finclude_exp%2Facess%2Fsys.h;h=31d74c4a0e81b493054ae039053ec61249533fcb;hb=aa5e13445f3d9ab6e0c0049780f38daed443104f;hp=d45ffb6445eae65a515518c335af9516320a92db;hpb=e91f60e14b8857312238d729fa580d6ab44ba27a;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/include_exp/acess/sys.h b/Usermode/Libraries/ld-acess.so_src/include_exp/acess/sys.h index d45ffb64..31d74c4a 100644 --- a/Usermode/Libraries/ld-acess.so_src/include_exp/acess/sys.h +++ b/Usermode/Libraries/ld-acess.so_src/include_exp/acess/sys.h @@ -8,6 +8,10 @@ #include // size_t #include "syscall_types.h" +#ifdef __cplusplus +extern "C" { +#endif + // === CONSTANTS === #ifndef NULL # define NULL ((void*)0) @@ -25,6 +29,7 @@ #define OPENFLAG_APPEND 0x20 #define OPENFLAG_NOLINK 0x40 #define OPENFLAG_CREATE 0x80 +#define OPENFLAG_NONBLOCK 0x100 // How would this work? #ifndef SEEK_CUR # define SEEK_SET 1 # define SEEK_CUR 0 @@ -46,6 +51,7 @@ extern int _errno; // === FUNCTIONS === extern void _SysDebug(const char *format, ...); +extern void _SysDebugHex(const char *Label, const void *Data, size_t Size); // --- Proc --- extern void _exit(int status) __attribute__((noreturn)); extern int _SysKill(int pid, int sig); @@ -60,14 +66,17 @@ extern int _SysSetFaultHandler(int (*Handler)(int)); extern void _SysSetName(const char *Name); extern int _SysGetName(char *NameDest); extern int _SysSetPri(int Priority); +// --- System --- +extern int _SysLoadModule(const char *Module); // --- Timekeeping --- extern int64_t _SysTimestamp(void); +extern void _SysTimedSleep(int64_t Delay); // --- Permissions --- extern int _SysGetUID(void); extern int _SysGetGID(void); -extern void setuid(int id); -extern void setgid(int id); +extern int setuid(int id); +extern int setgid(int id); // --- VFS --- extern int _SysChdir(const char *dir); @@ -80,9 +89,11 @@ extern int _SysReopen(int fd, const char *path, int flags); extern int _SysCopyFD(int srcfd, int dstfd); extern int _SysFDFlags(int fd, int mask, int newflags); extern size_t _SysRead(int fd, void *buffer, size_t length); +extern size_t _SysReadAt(int fd, uint64_t offset, size_t length, void *buffer); extern int _SysClose(int fd); extern int _SysFDCtl(int fd, int option, ...); extern size_t _SysWrite(int fd, const void *buffer, size_t length); +extern size_t _SysWriteAt(int fd, uint64_t offset, size_t length, const void *buffer); extern int _SysSeek(int fd, int64_t offset, int whence); extern uint64_t _SysTell(int fd); extern int _SysIOCtl(int fd, int id, void *data); @@ -92,6 +103,7 @@ 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 _SysSelect(int nfds, fd_set *read, fd_set *write, fd_set *err, int64_t *timeout, unsigned int extraevents); //#define select(nfs, rdfds, wrfds, erfds, timeout) _SysSelect(nfs, rdfds, wrfds, erfds, timeout, 0) +extern int _SysMkDir(const char *dirname); extern int _SysUnlink(const char *pathname); // --- IPC --- @@ -106,4 +118,8 @@ extern void *_SysLoadBin(const char *path, void **entry); extern int _SysUnloadBin(void *base); extern void SysSetFaultHandler(int (*Hanlder)(int)); +#ifdef __cplusplus +} +#endif + #endif