package libc // 7.24 String handling when ODIN_OS == "windows" { foreign import libc "system:libucrt.lib" } else { foreign import libc "system:c" } foreign libc { // 7.24.2 Copying functions memcpy :: proc(s1, s2: rawptr, n: size_t) -> rawptr --- memmove :: proc(s1, s2: rawptr, n: size_t) -> rawptr --- strcpy :: proc(s1: ^char, s2: cstring) -> ^char --- strncpy :: proc(s1: ^char, s2: cstring, n: size_t) -> ^char --- // 7.24.3 Concatenation functions strcat :: proc(s1: ^char, s2: cstring) -> ^char --- strncat :: proc(s1: ^char, s2: cstring, n: size_t) -> ^char --- // 7.24.4 Comparison functions memcmp :: proc(s1, s2: rawptr, n: size_t) -> int --- strcmp :: proc(s1, s2: cstring) -> int --- strcoll :: proc(s1, s2: cstring) -> int --- strncmp :: proc(s1, s2: cstring, n: size_t) -> int --- strxfrm :: proc(s1: ^char, s2: cstring, n: size_t) -> size_t --- // 7.24.5 Search functions memchr :: proc(s: rawptr, c: int, n: size_t) -> rawptr --- strchr :: proc(s: cstring, c: int) -> ^char --- strcspn :: proc(s1, s2: cstring) -> size_t --- strpbrk :: proc(s1, s2: cstring) -> ^char --- strrchr :: proc(s: ^char, c: int) -> ^char --- strcpn :: proc(s1, s2: cstring) -> ^char --- strtok :: proc(s1: ^char, s2: cstring) -> ^char --- // 7.24.6 Miscellaneous functions memset :: proc(s: rawptr, c: int, n: size_t) -> rawptr --- strerror :: proc(errnum: int) -> ^char --- strlen :: proc(s: cstring) -> size_t --- }