package vendor:libc-shim
Overview
A (very small) subset of a libc implementation over Odin libraries for use with vendor:* packages.
Clock :: enum i32 {
Monotonic = 1,
}
Related Procedures With Parameters
Related Procedures With Parameters
Related Procedures With Returns
Time_Spec :: struct {
tv_sec: i64,
tv_nsec: i64,
}
Related Procedures With Parameters
Related Procedures With Returns
ldiv_t :: struct {
quot: i32,
rem: i32,
}
Related Procedures With Returns
This section is empty.
@(require)
@(linkage="strong")
@(link_name="abort")
abort :: proc "c" () -> ! {…}
@(require)
@(linkage="strong")
@(link_name="abs")
abs :: proc "c" (x: i32) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="acos")
acos :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="acosf")
acosf :: proc "c" (x: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="aligned_alloc")
aligned_alloc :: proc "c" (alignment: uint, size: uint) -> rawptr {…}
@(require)
@(linkage="strong")
@(link_name="asin")
asin :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="atan")
atan :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="atan2")
atan2 :: proc "c" (y, x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="atan2f")
atan2f :: proc "c" (v: f32, v2: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="atexit")
atexit :: proc "c" (function: proc "c" ()) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="atof")
atof :: proc "c" (str: cstring) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="atoi")
atoi :: proc "c" (str: cstring) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="atol")
atol :: proc "c" (str: cstring) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="atoll")
atoll :: proc "c" (str: cstring) -> i64 {…}
@(require)
@(linkage="strong")
@(link_name="ceil")
ceil :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="ceilf")
ceilf :: proc "c" (x: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="clock")
clock :: proc "c" () -> i64 {…}
@(require)
@(linkage="strong")
@(link_name="clock_gettime")
clock_gettime :: proc "c" (clockid: Clock, tp: ^Time_Spec) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="cos")
cos :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="cosf")
cosf :: proc "c" (v: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="exit")
exit :: proc "c" (exit_code: i32) -> ! {…}
@(require)
@(linkage="strong")
@(link_name="exp")
exp :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="fabs")
fabs :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="fabsf")
fabsf :: proc "c" (x: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="fclose")
fclose :: proc "c" (file: rawptr) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="floor")
floor :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="floorf")
floorf :: proc "c" (x: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="fmod")
fmod :: proc "c" (x, y: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="fmodf")
fmodf :: proc "c" (x, y: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="fopen")
fopen :: proc "c" (path: cstring, mode: cstring) -> rawptr {…}
@(require)
@(linkage="strong")
@(link_name="fread")
fread :: proc "c" (buffer: [^]u8, size: uint, count: uint, file: rawptr) -> uint {…}
@(require)
@(linkage="strong")
@(link_name="free")
free :: proc "c" (ptr: rawptr) {…}
@(require)
@(linkage="strong")
@(link_name="fseek")
fseek :: proc "c" (file: rawptr, offset: i32, whence: i32) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="ftell")
ftell :: proc "c" (file: rawptr) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="fwrite")
fwrite :: proc "c" (buffer: [^]u8, size: uint, count: uint, file: rawptr) -> uint {…}
@(require)
@(linkage="strong")
@(link_name="getchar")
getchar :: proc "c" () -> i32 {…}
@(init)
init_context :: proc "contextless" () {…}
@(require)
@(linkage="strong")
@(link_name="isblank")
isblank :: proc "c" (c: i32) -> b32 {…}
@(require)
@(linkage="strong")
@(link_name="isdigit")
isdigit :: proc "c" (c: i32) -> b32 {…}
@(require)
@(linkage="strong")
@(link_name="__isfinited")
isfinited :: proc "c" (x: f64) -> bool {…}
@(require)
@(linkage="strong")
@(link_name="__isfinitef")
isfinitef :: proc "c" (x: f32) -> bool {…}
@(require)
@(linkage="strong")
@(link_name="__isinfd")
isinfd :: proc "c" (v: f64) -> bool {…}
@(require)
@(linkage="strong")
@(link_name="__isinff")
isinff :: proc "c" (v: f32) -> bool {…}
@(require)
@(linkage="strong")
@(link_name="__isnand")
isnand :: proc "c" (v: f64) -> bool {…}
@(require)
@(linkage="strong")
@(link_name="__isnanf")
isnanf :: proc "c" (v: f32) -> bool {…}
@(require)
@(linkage="strong")
@(link_name="isspace")
isspace :: proc "c" (c: i32) -> b32 {…}
@(require)
@(linkage="strong")
@(link_name="ldexp")
ldexp :: proc "c" (x: f64, y: i32) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="ldiv")
ldiv :: proc "c" (number: i32, denom: i32) -> ldiv_t {…}
@(require)
@(linkage="strong")
@(link_name="log")
log :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="log10")
log10 :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="log2")
log2 :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="logf")
logf :: proc "c" (x: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="malloc")
malloc :: proc "c" (size: uint) -> rawptr {…}
@(require)
@(linkage="strong")
@(link_name="memchr")
memchr :: proc "c" (str: [^]u8, c: i32, n: uint) -> [^]u8 {…}
@(require)
@(linkage="strong")
@(link_name="memcmp")
memcmp :: proc "c" (lhs: [^]u8, rhs: [^]u8, count: uint) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="modf")
modf :: proc "c" (num: f64, iptr: ^f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="pow")
pow :: proc "c" (x, y: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="powf")
powf :: proc "c" (x, y: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="putchar")
putchar :: proc "c" (char: i32) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="qsort")
qsort :: proc "c" (base: rawptr, num: uint, size: uint, cmp: proc "c" (a, b: rawptr) -> i32) {…}
@(require)
@(linkage="strong")
@(link_name="realloc")
realloc :: proc "c" (ptr: rawptr, new_size: uint) -> rawptr {…}
@(require)
@(linkage="strong")
@(link_name="remainderf")
remainderf :: proc "c" (x, y: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="sched_yield")
sched_yield :: proc "c" () -> i32 {…}
set_context :: proc(ctx: runtime.Context = context) {…}
NOTE: the allocator must respect an old_size of -1 on resizes!
@(require)
@(linkage="strong")
@(link_name="sin")
sin :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="sinf")
sinf :: proc "c" (v: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="sqrt")
sqrt :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="sqrtf")
sqrtf :: proc "c" (v: f32) -> f32 {…}
@(require)
@(linkage="strong")
@(link_name="strchr")
strchr :: proc "c" (str: cstring, ch: i32) -> cstring {…}
@(require)
@(linkage="strong")
@(link_name="strcmp")
strcmp :: proc "c" (lhs: cstring, rhs: cstring) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="strcpy")
strcpy :: proc "c" (dst: [^]u8, src: cstring) -> cstring {…}
@(require)
@(linkage="strong")
@(link_name="strcspn")
strcspn :: proc "c" (dst: cstring, src: cstring) -> uint {…}
@(require)
@(linkage="strong")
@(link_name="strlen")
strlen :: proc "c" (str: cstring) -> u32 {…}
@(require)
@(linkage="strong")
@(link_name="strncmp")
strncmp :: proc "c" (lhs: cstring, rhs: cstring, count: uint) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="strncpy")
strncpy :: proc "c" (dst: [^]u8, src: cstring, count: uint) -> cstring {…}
@(require)
@(linkage="strong")
@(link_name="strrchr")
strrchr :: proc "c" (str: cstring, ch: i32) -> cstring {…}
@(require)
@(linkage="strong")
@(link_name="strstr")
strstr :: proc "c" (str: cstring, substr: cstring) -> cstring {…}
@(require)
@(linkage="strong")
@(link_name="strtod")
strtod :: proc "c" (str: cstring, str_end: ^cstring) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="strtol")
strtol :: proc "c" (str: cstring, str_end: ^cstring, base: i32) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="tan")
tan :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="toupper")
toupper :: proc "c" (c: i32) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="trunc")
trunc :: proc "c" (x: f64) -> f64 {…}
@(require)
@(linkage="strong")
@(link_name="vfprintf")
vfprintf :: proc "c" (file: rawptr, fmt: cstring, args: ^.c_va_list) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="vsnprintf")
vsnprintf :: proc "c" (buf: [^]u8, count: uint, fmt: cstring, args: ^.c_va_list) -> i32 {…}
@(require)
@(linkage="strong")
@(link_name="vsprintf")
vsprintf :: proc "c" (buf: [^]u8, fmt: cstring, args: ^.c_va_list) -> i32 {…}
This section is empty.
Source Files
Generated with odin version dev-2026-09 (vendor "odin") Windows_amd64 @ 2026-09-15 23:21:38.874872500 +0000 UTC