2019-10-24 14:51:22 +03:00
|
|
|
module builtin
|
2020-04-07 04:27:06 +03:00
|
|
|
|
2019-10-26 11:14:16 +03:00
|
|
|
// <string.h>
|
2020-12-06 00:53:50 +03:00
|
|
|
fn C.memcpy(dest byteptr, src byteptr, n int) voidptr
|
2019-10-26 11:14:16 +03:00
|
|
|
|
2020-07-14 01:16:31 +03:00
|
|
|
fn C.memcmp(byteptr, byteptr, int) int
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.memmove(byteptr, byteptr, int) voidptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
[trusted]
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.calloc(int, int) byteptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-04-07 04:27:06 +03:00
|
|
|
fn C.malloc(int) byteptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2019-10-24 15:41:29 +03:00
|
|
|
fn C.realloc(a byteptr, b int) byteptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-04-07 04:27:06 +03:00
|
|
|
fn C.free(ptr voidptr)
|
2019-10-24 15:41:29 +03:00
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
[trusted]
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.exit(code int)
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-15 13:15:22 +03:00
|
|
|
fn C.qsort(base voidptr, items size_t, item_size size_t, cb qsort_callback_func)
|
2019-10-24 15:41:29 +03:00
|
|
|
|
2020-02-04 11:54:15 +03:00
|
|
|
fn C.sprintf(a ...voidptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-07-14 01:16:31 +03:00
|
|
|
fn C.strlen(s charptr) int
|
2019-10-25 12:07:50 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.sscanf(byteptr, byteptr, ...byteptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
[trusted]
|
|
|
|
fn C.isdigit(c int) bool
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2019-11-01 00:52:08 +03:00
|
|
|
// stdio.h
|
2020-07-14 01:16:31 +03:00
|
|
|
fn C.popen(c charptr, t charptr) voidptr
|
2020-03-22 16:47:43 +03:00
|
|
|
|
2019-10-26 01:55:16 +03:00
|
|
|
// <execinfo.h>
|
2020-05-15 15:23:58 +03:00
|
|
|
fn C.backtrace(a &voidptr, size int) int
|
2020-11-16 19:32:50 +03:00
|
|
|
|
|
|
|
fn C.backtrace_symbols(a &voidptr, size int) &charptr
|
|
|
|
|
2020-05-15 15:23:58 +03:00
|
|
|
fn C.backtrace_symbols_fd(a &voidptr, size int, fd int)
|
|
|
|
|
2019-10-26 01:55:16 +03:00
|
|
|
// <libproc.h>
|
2020-05-18 23:54:08 +03:00
|
|
|
pub fn proc_pidpath(int, voidptr, int) int
|
2019-10-26 01:55:16 +03:00
|
|
|
|
2020-07-14 01:16:31 +03:00
|
|
|
fn C.realpath(charptr, charptr) &char
|
2019-11-15 01:07:38 +03:00
|
|
|
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.chmod(byteptr, int) int
|
2019-10-24 15:41:29 +03:00
|
|
|
|
2019-11-25 13:54:07 +03:00
|
|
|
fn C.printf(byteptr, ...byteptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-07-10 10:14:30 +03:00
|
|
|
fn C.puts(byteptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.fputs(str byteptr, stream &C.FILE) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.fflush(&C.FILE) int
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
// TODO define args in these functions
|
|
|
|
fn C.fseek() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.fopen(filename charptr, mode charptr) &C.FILE
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.fileno(&C.FILE) int
|
2020-05-19 13:38:06 +03:00
|
|
|
|
2021-01-15 13:15:22 +03:00
|
|
|
fn C.fread(ptr voidptr, item_size size_t, items size_t, stream &C.FILE) size_t
|
|
|
|
|
|
|
|
fn C.fwrite(ptr voidptr, item_size size_t, items size_t, stream &C.FILE) size_t
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.fclose() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.pclose() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// process execution, os.process:
|
|
|
|
fn C.getpid() int
|
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
fn C.system(cmd charptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.posix_spawn(child_pid &int, path charptr, file_actions voidptr, attrp voidptr, argv &charptr, envp &charptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.posix_spawnp(child_pid &int, exefile charptr, file_actions voidptr, attrp voidptr, argv &charptr, envp &charptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.execve(cmd_path charptr, args voidptr, envs voidptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
[trusted]
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.fork() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.wait(status &int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.waitpid(pid int, status &int, options int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.kill(pid int, sig int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.setenv(charptr, charptr, int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.unsetenv(charptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.access() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.remove() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.rmdir() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.chdir() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.rewind() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.stat(charptr, voidptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-12-04 23:53:11 +03:00
|
|
|
fn C.lstat() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.rename() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.fgets() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.memset() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.sigemptyset() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
fn C.getcwd(buf charptr, size size_t) charptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.signal(signal int, handlercb voidptr) voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.mktime() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.gettimeofday() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-08-09 12:22:11 +03:00
|
|
|
[trusted]
|
2020-07-20 20:06:41 +03:00
|
|
|
fn C.sleep(int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.usleep() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-01-30 20:33:36 +03:00
|
|
|
fn C.opendir(charptr) voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.closedir() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.mkdir() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-02-14 21:37:32 +03:00
|
|
|
// C.rand returns a pseudorandom integer from 0 (inclusive) to C.RAND_MAX (exclusive)
|
|
|
|
[trusted]
|
|
|
|
fn C.rand() int
|
|
|
|
|
|
|
|
// C.srand seeds the internal PRNG with the given value.
|
|
|
|
[trusted]
|
|
|
|
fn C.srand(seed uint)
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.atof() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.tolower() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.toupper() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-08-09 12:22:11 +03:00
|
|
|
[trusted]
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.getchar() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-08-09 12:22:11 +03:00
|
|
|
[trusted]
|
2019-12-27 19:59:04 +03:00
|
|
|
fn C.strerror(int) charptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.snprintf() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.fprintf(byteptr, ...byteptr)
|
|
|
|
|
|
|
|
fn C.WIFEXITED() bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.WEXITSTATUS() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.WIFSIGNALED() bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.WTERMSIG() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
|
|
|
fn C.isatty() int
|
2019-11-24 06:27:02 +03:00
|
|
|
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.syscall() int
|
2019-11-24 06:27:02 +03:00
|
|
|
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.sysctl() int
|
|
|
|
|
2019-10-24 15:41:29 +03:00
|
|
|
fn C._fileno(int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-16 02:30:50 +03:00
|
|
|
fn C._get_osfhandle(fd int) C.intptr_t
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-07-16 19:33:26 +03:00
|
|
|
fn C.GetModuleFileName() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.GetModuleFileNameW(hModule voidptr, lpFilename &u16, nSize u32) u32
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-07-16 19:33:26 +03:00
|
|
|
fn C.CreateFile() voidptr
|
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.CreateFileW(lpFilename &u16, dwDesiredAccess u32, dwShareMode u32, lpSecurityAttributes &u16, dwCreationDisposition u32, dwFlagsAndAttributes u32, hTemplateFile voidptr) u32
|
2020-07-16 19:33:26 +03:00
|
|
|
|
|
|
|
fn C.GetFinalPathNameByHandleW(hFile voidptr, lpFilePath &u16, nSize u32, dwFlags u32) int
|
|
|
|
|
2019-11-16 02:30:50 +03:00
|
|
|
fn C.CreatePipe(hReadPipe &voidptr, hWritePipe &voidptr, lpPipeAttributes voidptr, nSize u32) bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-05-16 17:12:23 +03:00
|
|
|
fn C.SetHandleInformation(hObject voidptr, dwMask u32, dw_flags u32) bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-16 02:30:50 +03:00
|
|
|
fn C.ExpandEnvironmentStringsW(lpSrc &u16, lpDst &u16, nSize u32) u32
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-08 10:19:31 +03:00
|
|
|
fn C.SendMessageTimeout() u32
|
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.SendMessageTimeoutW(hWnd voidptr, Msg u32, wParam &u16, lParam &u32, fuFlags u32, uTimeout u32, lpdwResult &u64) u32
|
2020-06-08 10:19:31 +03:00
|
|
|
|
2019-11-16 02:30:50 +03:00
|
|
|
fn C.CreateProcessW(lpApplicationName &u16, lpCommandLine &u16, lpProcessAttributes voidptr, lpThreadAttributes voidptr, bInheritHandles bool, dwCreationFlags u32, lpEnvironment voidptr, lpCurrentDirectory &u16, lpStartupInfo voidptr, lpProcessInformation voidptr) bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-09-16 17:40:02 +03:00
|
|
|
fn C.ReadFile(hFile voidptr, lpBuffer voidptr, nNumberOfBytesToRead u32, lpNumberOfBytesRead C.LPDWORD, lpOverlapped voidptr) bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-16 02:30:50 +03:00
|
|
|
fn C.GetFileAttributesW(lpFileName byteptr) u32
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-08 10:19:31 +03:00
|
|
|
fn C.RegQueryValueEx() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.RegQueryValueExW(hKey voidptr, lpValueName &u16, lp_reserved &u32, lpType &u32, lpData byteptr, lpcbData &u32) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-08 10:19:31 +03:00
|
|
|
fn C.RegOpenKeyEx() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.RegOpenKeyExW(hKey voidptr, lpSubKey &u16, ulOptions u32, samDesired u32, phkResult voidptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-08 10:19:31 +03:00
|
|
|
fn C.RegSetValueEx() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.RegSetValueExW(hKey voidptr, lpValueName &u16, Reserved u32, dwType u32, lpData byteptr, lpcbData u32) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-08 10:19:31 +03:00
|
|
|
fn C.RegCloseKey()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 06:27:02 +03:00
|
|
|
fn C.RemoveDirectory() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// fn C.GetStdHandle() voidptr
|
2020-02-10 10:32:08 +03:00
|
|
|
fn C.GetStdHandle(u32) voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// fn C.SetConsoleMode()
|
2021-02-14 09:33:24 +03:00
|
|
|
fn C.SetConsoleMode(voidptr, u32) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// fn C.GetConsoleMode() int
|
2020-02-10 10:32:08 +03:00
|
|
|
fn C.GetConsoleMode(voidptr, &u32) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
fn C.GetCurrentProcessId() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 13:16:02 +03:00
|
|
|
fn C.wprintf()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// fn C.setbuf()
|
2020-02-10 10:32:08 +03:00
|
|
|
fn C.setbuf(voidptr, charptr)
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.SymCleanup()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.MultiByteToWideChar() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.wcslen() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-12-07 17:31:07 +03:00
|
|
|
fn C.WideCharToMultiByte() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wstat()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-12-31 12:33:39 +03:00
|
|
|
fn C._wrename() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wfopen() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wpopen() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._pclose() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wsystem() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wgetenv() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._putenv() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._waccess() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-24 15:01:19 +03:00
|
|
|
fn C._wremove() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-01-10 00:47:13 +03:00
|
|
|
fn C.ReadConsole() voidptr
|
|
|
|
|
|
|
|
fn C.WriteConsole() voidptr
|
|
|
|
|
|
|
|
fn C.WriteFile() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wchdir()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._wgetcwd() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C._fullpath() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2021-02-19 12:20:06 +03:00
|
|
|
fn C.GetFullPathName(voidptr, u32, voidptr, voidptr) u32
|
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.GetCommandLine() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.LocalFree()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.FindFirstFileW() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.FindFirstFile() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-03-28 12:19:38 +03:00
|
|
|
fn C.FindNextFile() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.FindClose()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.MAKELANGID() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:16:05 +03:00
|
|
|
fn C.FormatMessage() voidptr
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-08-06 16:28:19 +03:00
|
|
|
fn C.CloseHandle(voidptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:21:49 +03:00
|
|
|
fn C.GetExitCodeProcess()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-24 15:31:51 +03:00
|
|
|
fn C.GetTickCount() i64
|
2019-11-25 04:35:41 +03:00
|
|
|
|
|
|
|
fn C.Sleep()
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.WSAStartup(u16, &voidptr) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.WSAGetLastError() int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.closesocket(int) int
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.vschannel_init(&C.TlsContext)
|
2019-12-19 23:52:45 +03:00
|
|
|
|
|
|
|
fn C.request(&C.TlsContext, int, &u16, byteptr, &byteptr)
|
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.vschannel_cleanup(&C.TlsContext)
|
2019-12-19 23:52:45 +03:00
|
|
|
|
|
|
|
fn C.URLDownloadToFile(int, &u16, &u16, int, int)
|
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.GetLastError() u32
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2019-11-25 04:35:41 +03:00
|
|
|
fn C.CreateDirectory(byteptr, int) bool
|
2019-12-19 23:52:45 +03:00
|
|
|
|
2020-06-22 20:23:42 +03:00
|
|
|
// win crypto
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.BCryptGenRandom(int, voidptr, int, int) int
|
|
|
|
|
2020-06-22 20:23:42 +03:00
|
|
|
// win synchronization
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.CreateMutex(int, bool, byteptr) voidptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2019-12-19 23:52:45 +03:00
|
|
|
fn C.WaitForSingleObject(voidptr, int) int
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2019-12-01 10:33:26 +03:00
|
|
|
fn C.ReleaseMutex(voidptr) bool
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-06-22 20:23:42 +03:00
|
|
|
fn C.CreateEvent(int, bool, bool, byteptr) voidptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-06-22 20:23:42 +03:00
|
|
|
fn C.SetEvent(voidptr) int
|
2020-05-15 23:23:31 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.CreateSemaphore(voidptr, int, int, voidptr) voidptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.ReleaseSemaphore(voidptr, int, voidptr) voidptr
|
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.InitializeSRWLock(voidptr)
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.AcquireSRWLockShared(voidptr)
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.AcquireSRWLockExclusive(voidptr)
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.ReleaseSRWLockShared(voidptr)
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.ReleaseSRWLockExclusive(voidptr)
|
2020-05-15 23:23:31 +03:00
|
|
|
|
2020-06-22 20:23:42 +03:00
|
|
|
// pthread.h
|
2020-05-15 23:23:31 +03:00
|
|
|
fn C.pthread_mutex_init(voidptr, voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-05-15 23:23:31 +03:00
|
|
|
fn C.pthread_mutex_lock(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-05-15 23:23:31 +03:00
|
|
|
fn C.pthread_mutex_unlock(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-08-06 16:28:19 +03:00
|
|
|
fn C.pthread_mutex_destroy(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.pthread_rwlockattr_init(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.pthread_rwlockattr_setkind_np(voidptr, int) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-07 02:57:31 +03:00
|
|
|
fn C.pthread_rwlockattr_setpshared(voidptr, int) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.pthread_rwlock_init(voidptr, voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.pthread_rwlock_rdlock(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.pthread_rwlock_wrlock(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-05 23:53:28 +03:00
|
|
|
fn C.pthread_rwlock_unlock(voidptr) int
|
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.pthread_condattr_init(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.pthread_condattr_setpshared(voidptr, int) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-08-06 16:28:19 +03:00
|
|
|
fn C.pthread_condattr_destroy(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.pthread_cond_init(voidptr, voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.pthread_cond_signal(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.pthread_cond_wait(voidptr, voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.pthread_cond_timedwait(voidptr, voidptr, voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-08-06 16:28:19 +03:00
|
|
|
fn C.pthread_cond_destroy(voidptr) int
|
2020-07-15 11:22:33 +03:00
|
|
|
|
|
|
|
fn C.sem_init(voidptr, int, u32) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.sem_post(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.sem_wait(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.sem_trywait(voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-07-15 11:22:33 +03:00
|
|
|
fn C.sem_timedwait(voidptr, voidptr) int
|
2021-02-18 10:02:56 +03:00
|
|
|
|
2020-08-06 16:28:19 +03:00
|
|
|
fn C.sem_destroy(voidptr) int
|
2020-07-15 11:22:33 +03:00
|
|
|
|
2020-08-12 04:45:09 +03:00
|
|
|
// MacOS semaphore functions
|
|
|
|
fn C.dispatch_semaphore_create(i64) voidptr
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-08-12 04:45:09 +03:00
|
|
|
fn C.dispatch_semaphore_signal(voidptr) i64
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-08-12 04:45:09 +03:00
|
|
|
fn C.dispatch_semaphore_wait(voidptr, u64) i64
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-08-12 04:45:09 +03:00
|
|
|
fn C.dispatch_time(u64, i64) u64
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-08-12 04:45:09 +03:00
|
|
|
fn C.dispatch_release(voidptr)
|
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// file descriptor based reading/writing
|
2020-06-01 22:11:40 +03:00
|
|
|
fn C.read(fd int, buf voidptr, count size_t) int
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-06-01 22:11:40 +03:00
|
|
|
fn C.write(fd int, buf voidptr, count size_t) int
|
2020-11-16 19:32:50 +03:00
|
|
|
|
2020-06-01 22:11:40 +03:00
|
|
|
fn C.close(fd int) int
|
2020-06-11 21:16:12 +03:00
|
|
|
|
2020-11-16 19:32:50 +03:00
|
|
|
// pipes
|
|
|
|
fn C.pipe(pipefds &int) int
|
|
|
|
|
|
|
|
fn C.dup2(oldfd int, newfd int) int
|
|
|
|
|
2020-06-11 21:16:12 +03:00
|
|
|
// used by gl, stbi, freetype
|
|
|
|
fn C.glTexImage2D()
|