1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/builtin/cfns.v

407 lines
4.7 KiB
V
Raw Normal View History

2019-10-24 14:51:22 +03:00
module builtin
2019-10-26 11:14:16 +03:00
// <string.h>
2019-10-26 11:43:25 +03:00
fn C.memcpy(byteptr, byteptr, int) voidptr
2019-10-26 11:14:16 +03:00
2019-12-19 23:52:45 +03:00
fn C.memmove(byteptr, byteptr, int) voidptr
fn C.calloc(int) byteptr
fn C.malloc(int) byteptr
fn C.realloc(a byteptr, b int) byteptr
fn C.free(ptr voidptr)
fn C.exit(code int)
2019-12-19 23:52:45 +03:00
fn C.qsort(voidptr, int, int, voidptr)
2019-12-19 23:52:45 +03:00
2020-02-04 11:54:15 +03:00
fn C.sprintf(a ...voidptr) int
2019-12-19 23:52:45 +03:00
2019-10-25 12:07:50 +03:00
fn C.strlen(s byteptr) int
2019-12-19 23:52:45 +03:00
fn C.isdigit(s byteptr) bool
// stdio.h
fn C.popen(c byteptr, t byteptr) voidptr
2020-03-22 16:47:43 +03:00
2019-10-26 01:55:16 +03:00
// <execinfo.h>
2020-03-22 16:47:43 +03:00
// backtrace functions are not #included, that's why they have to be defined without C.
2019-10-25 17:59:41 +03:00
fn backtrace(a voidptr, b int) int
2019-12-19 23:52:45 +03:00
2020-02-04 11:54:15 +03:00
fn backtrace_symbols(voidptr, int) &byteptr
2019-10-25 12:07:50 +03:00
2019-12-19 23:52:45 +03:00
fn backtrace_symbols_fd(voidptr, int, int)
2019-10-26 01:55:16 +03:00
// <libproc.h>
2019-10-26 02:19:14 +03:00
fn proc_pidpath(int, voidptr, int) int
2019-10-26 01:55:16 +03:00
2019-12-19 23:52:45 +03:00
2019-11-15 01:07:38 +03:00
fn C.realpath(byteptr, byteptr) &char
2019-12-19 23:52:45 +03:00
fn C.chmod(byteptr, int) int
2019-11-24 06:27:02 +03:00
2019-11-25 13:54:07 +03:00
fn C.printf(byteptr, ...byteptr) int
2019-12-19 23:52:45 +03:00
2019-11-25 13:54:07 +03:00
fn C.fputs(byteptr) int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.fflush(byteptr) int
// TODO define args in these functions
fn C.fseek() int
2019-12-19 23:52:45 +03:00
2019-12-12 21:03:08 +03:00
fn C.fopen() voidptr
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.fwrite() int
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
2019-11-24 06:27:02 +03:00
fn C.system() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.setenv() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.unsetenv() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.access() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.remove() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.rmdir() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.chdir() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.fread() 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
2019-11-24 06:27:02 +03:00
fn C.stat() 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
2019-11-24 06:27:02 +03:00
fn C.getcwd() int
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.signal() int
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
2019-11-24 06:27:02 +03:00
fn C.sleep() 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
2019-11-24 06:27:02 +03:00
fn C.opendir() 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
2019-11-24 06:27:02 +03:00
fn C.srand() int
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
2019-11-24 06:27:02 +03:00
fn C.getchar() int
2019-12-19 23:52:45 +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)
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
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
2019-11-24 06:27:02 +03:00
fn C.DEFAULT_LE() bool
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.DEFAULT_EQ() bool
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.DEFAULT_GT() bool
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.DEFAULT_EQUAL() bool
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.DEFAULT_NOT_EQUAL() bool
2019-12-19 23:52:45 +03:00
2019-11-24 06:27:02 +03:00
fn C.DEFAULT_LT() bool
2019-12-19 23:52:45 +03:00
fn C.DEFAULT_GE() bool
2019-11-22 19:00:56 +03:00
2019-11-24 06:27:02 +03:00
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-11-24 15:16:05 +03:00
2019-12-19 23:52:45 +03:00
fn C.sysctl() int
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
2019-11-16 02:30:50 +03:00
fn C.GetModuleFileNameW(hModule voidptr, lpFilename &u16, nSize u32) u32
2019-12-19 23:52:45 +03:00
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
2019-11-16 02:30:50 +03:00
fn C.SetHandleInformation(hObject voidptr, dwMask u32, dwFlags 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
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
2019-11-16 02:30:50 +03:00
fn C.ReadFile(hFile voidptr, lpBuffer voidptr, nNumberOfBytesToRead u32, lpNumberOfBytesRead voidptr, 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
2019-11-16 02:30:50 +03:00
fn C.RegQueryValueExW(hKey voidptr, lpValueName &u16, lpReserved &u32, lpType &u32, lpData byteptr, lpcbData &u32) int
2019-12-19 23:52:45 +03:00
2019-11-16 02:30: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
2019-11-24 15:21:49 +03:00
fn C.RegCloseKey()
2019-12-19 23:52:45 +03:00
2019-11-24 15:21:49 +03:00
fn C.RegQueryValueEx() voidptr
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
//fn C.GetStdHandle() voidptr
fn C.GetStdHandle(u32) voidptr
2019-12-19 23:52:45 +03:00
//fn C.SetConsoleMode()
fn C.SetConsoleMode(voidptr, u32)
2019-12-19 23:52:45 +03:00
//fn C.GetConsoleMode() int
fn C.GetConsoleMode(voidptr, &u32) 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
//fn C.setbuf()
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
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
2019-11-24 15:16:05 +03:00
fn C._wrename()
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
2019-11-24 15:16:05 +03:00
fn C._wremove()
2019-12-19 23:52:45 +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.GetModuleFileName() int
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
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
2019-11-24 15:16:05 +03:00
fn C.CloseHandle()
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:29:11 +03:00
fn C.RegOpenKeyEx() voidptr
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
2019-12-19 23:52:45 +03:00
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
fn C.BCryptGenRandom(int, voidptr, int, int) int
fn C.CreateMutex(int, bool, byteptr) voidptr
fn C.WaitForSingleObject(voidptr, int) int
2019-12-01 10:33:26 +03:00
fn C.ReleaseMutex(voidptr) bool