3 //#include <acess/sys.h>
16 * Whitespace is ignored
18 * >I: Input Long Integer (64-bits)
20 * >d: Input Buffer (Preceded by valid size)
21 * <I: Output long integer
22 * <d: Output Buffer (Preceded by valid size)
24 int _Syscall(const char *ArgTypes, ...)
26 // int outBufSize = 0;
29 va_start(args, ArgTypes);
34 int open(const char *Path, int Flags) {
35 return _Syscall(">s >i", Path, Flags);
42 size_t read(int FD, size_t Bytes, void *Dest) {
43 return _Syscall(">i >i <d", FD, Bytes, Bytes, Dest);
46 size_t write(int FD, size_t Bytes, void *Src) {
47 return _Syscall(">i >i >d", FD, Bytes, Bytes, Src);
50 uint64_t tell(int FD) {
52 _Syscall("<I >i", &ret, FD);
56 int seek(int FD, uint64_t Ofs, int Dir) {
57 return _Syscall(">i >I >i", FD, Ofs, Dir);
60 // === Symbol List ===
61 const tSym caBuiltinSymbols[] = {
71 const int ciNumBuiltinSymbols = sizeof(caBuiltinSymbols)/sizeof(caBuiltinSymbols[0]);