3 //#include <acess/sys.h>
12 * Whitespace is ignored
14 * >I: Input Long Integer (64-bits)
16 * >d: Input Buffer (Preceded by valid size)
17 * <I: Output long integer
18 * <d: Output Buffer (Preceded by valid size)
20 int _Syscall(const char *ArgTypes, ...)
25 va_start(args, ArgTypes);
30 int open(const char *Path, int Flags) {
31 return _Syscall(">s >i", Path, Flags);
38 size_t read(int FD, size_t Bytes, void *Dest) {
39 return _Syscall(">i >i <d", FD, Bytes, Bytes, Dest);
42 size_t write(int FD, size_t Bytes, void *Src) {
43 return _Syscall(">i >i >d", FD, Bytes, Bytes, Src);
46 uint64_t tell(int FD) {
48 _Syscall("<I >i", &ret, FD);
52 int seek(int FD, uint64_t Ofs, int Dir) {
53 return _Syscall(">i >I >i", FD, Ofs, Dir);