| 31 | | /* The great syscall list */ |
| 32 | | |
| 33 | | /* Filesystem calls */ |
| 34 | | int SysOpen(char* pathName,int flags,int perms); |
| 35 | | int SysCreateDir(char* pathName,int perms); |
| 36 | | int SysClose(int fd); |
| 37 | | int SysRemove(char* pathName); |
| 38 | | int SysRemoveDir(char* path); |
| 39 | | int SysFileAccess(char* path,int mode); /* TODO */ |
| 40 | | int SysFileDup(int fd); |
| 41 | | int SysFileSync(int fd); |
| 42 | | int SysFileSystemSync(); |
| 43 | | int SysTruncate(int fd,DWORD length); |
| 44 | | int SysMove(char* src,char* dest); //Not done |
| 45 | | int SysWrite(int fd,BYTE* data,DWORD amount); |
| 46 | | int SysRead(int fd,BYTE* buffer,DWORD amount); |
| 47 | | int SysSeek(int fd,int distance,int whence); |
| 48 | | int SysChangeDir(char* newDir); |
| 49 | | int SysChangeRoot(char* newRoot); |
| 50 | | int SysMount(char* mountPoint,char* deviceName,char* fsName,void* data); |
| 51 | | int SysUnmount(char* mountPoint); //Not done |
| 52 | | int SysGetDirEntries(int fd,void* entries,DWORD numBytes); |
| 53 | | int SysGetCurrDir(char* str,int size); |
| 54 | | int SysStat(char* name,void* statBuf); |
| 55 | | int SysStatFd(int fd,void* statBuf); |
| 56 | | int SysIoCtl(int fd,unsigned long code,char* data); |
| 57 | | int SysPoll(void* fds, DWORD numFds, int timeout); |
| 58 | | int SysPipe(int* fds); |
| 59 | | |
| 60 | | /* Memory calls */ |
| 61 | | void* SysMoreCore(int len); |
| 62 | | int SysMemoryMap(DWORD address, DWORD length, int protection, int fd, DWORD offset, int flags); |
| 63 | | int SysMemoryProtect(DWORD address, DWORD len, int protection); |
| 64 | | int SysMemoryUnmap(DWORD address,DWORD length); |
| 65 | | int SysSharedMemoryGet(unsigned int key, DWORD size, int flags); |
| 66 | | DWORD SysSharedMemoryAttach(int id, const void* address, int flags); |
| 67 | | int SysSharedMemoryControl(int id, int command, void* buffer); |
| 68 | | int SysSharedMemoryDetach(const void* address); |
| 69 | | |
| 70 | | /* Task management */ |
| 71 | | int SysCreateProcess(char* pathName,int* fds,char** argvp); |
| 72 | | int SysCreateThread(DWORD address,DWORD stackP, void* argument); |
| 73 | | int SysGetCurrentThreadId(); |
| 74 | | int SysGetCurrentProcessId(); |
| 75 | | int SysExitThread(int threadID); //Not done |
| 76 | | int SysExit(int retCode); |
| 77 | | int SysWaitForProcessFinish(int pid,int* finishStatus); |
| 78 | | int SysYield(); |
| 79 | | |
| 80 | | /* Time */ |
| 81 | | int SysGetTime(struct Time* retTime); |
| 82 | | |
| 83 | | /* Network */ |
| 84 | | int SysSocketCreate(int domain, int type, int protocol); |
| 85 | | int SysSocketBind(int fd, struct SocketAddr* addr, int length); |
| 86 | | int SysSocketConnect(int fd, struct SocketAddr* addr, int length); |
| 87 | | int SysSocketListen(int fd, int backlog); |
| 88 | | int SysSocketAccept(int fd, struct SocketAddr* addr, int* length); |
| 89 | | int SysSocketSend(int fd, const void* buffer, int length, int flags); |
| 90 | | int SysSocketReceive(int fd, void* buffer, int length, int flags); |
| 91 | | int SysSocketIoCtl(int fd, unsigned long code, void* data); |
| 92 | | int SysSocketClose(int fd); |
| 93 | | |
| 94 | | /* Module */ |
| 95 | | int SysModuleAdd(void* data, unsigned long length); |
| 96 | | int SysModuleRemove(const char* name); |
| 97 | | |
| 98 | | /* Miscellaneous */ |
| 99 | | int SysShutdown(int type); |
| 100 | | int SysIoAccess(int on); |
| 101 | | |
| 102 | | void SysRegisterCall(int call, DWORD address); |
| | 34 | void SysRegisterCall(int index, struct SysCall* call); |
| | 35 | void SysRegisterRange(int index, struct SysCall* calls); |
| | 36 | DWORD SysGetCall(DWORD index, DWORD argBytes); |