A (very small) subset of a libc implementation over Odin libraries for use with `vendor:*` packages.

Collection Info

View Source
Collection
vendor
Path
libc-shim
Entries
92

Source Files

(hidden platform specific files)

Constants

2

Types

5

Procedures

85

abort #

Source
@(require)
@(linkage="strong")
@(link_name="abort")
abort :: proc "c" () -> ! {…}

abs #

Source
@(require)
@(linkage="strong")
@(link_name="abs")
abs :: proc "c" (x: i32) -> i32 {…}

acos #

Source
@(require)
@(linkage="strong")
@(link_name="acos")
acos :: proc "c" (x: f64) -> f64 {…}

acosf #

Source
@(require)
@(linkage="strong")
@(link_name="acosf")
acosf :: proc "c" (x: f32) -> f32 {…}

aligned_alloc #

Source
@(require)
@(linkage="strong")
@(link_name="aligned_alloc")
aligned_alloc :: proc "c" (alignment: uint, size: uint) -> rawptr {…}

asin #

Source
@(require)
@(linkage="strong")
@(link_name="asin")
asin :: proc "c" (x: f64) -> f64 {…}

atan #

Source
@(require)
@(linkage="strong")
@(link_name="atan")
atan :: proc "c" (x: f64) -> f64 {…}

atan2 #

Source
@(require)
@(linkage="strong")
@(link_name="atan2")
atan2 :: proc "c" (y, x: f64) -> f64 {…}

atan2f #

Source
@(require)
@(linkage="strong")
@(link_name="atan2f")
atan2f :: proc "c" (v: f32, v2: f32) -> f32 {…}

atexit #

Source
@(require)
@(linkage="strong")
@(link_name="atexit")
atexit :: proc "c" (function: proc "c" () -> !) -> i32 {…}

ceil #

Source
@(require)
@(linkage="strong")
@(link_name="ceil")
ceil :: proc "c" (x: f64) -> f64 {…}

ceilf #

Source
@(require)
@(linkage="strong")
@(link_name="ceilf")
ceilf :: proc "c" (x: f32) -> f32 {…}

clock #

Source
@(require)
@(linkage="strong")
@(link_name="clock")
clock :: proc "c" () -> i64 {…}

clock_gettine #

Source
@(require)
@(linkage="strong")
@(link_name="clock_gettime")
clock_gettine :: proc "c" (clockid: Clock, tp: ^Time_Spec) -> i32 {…}

cos #

Source
@(require)
@(linkage="strong")
@(link_name="cos")
cos :: proc "c" (x: f64) -> f64 {…}

cosf #

Source
@(require)
@(linkage="strong")
@(link_name="cosf")
cosf :: proc "c" (v: f32) -> f32 {…}

exit #

Source
@(require)
@(linkage="strong")
@(link_name="exit")
exit :: proc "c" (exit_code: i32) -> ! {…}

exp #

Source
@(require)
@(linkage="strong")
@(link_name="exp")
exp :: proc "c" (x: f64) -> f64 {…}

fabs #

Source
@(require)
@(linkage="strong")
@(link_name="fabs")
fabs :: proc "c" (x: f64) -> f64 {…}

fabsf #

Source
@(require)
@(linkage="strong")
@(link_name="fabsf")
fabsf :: proc "c" (x: f32) -> f32 {…}

fclose #

Source
@(require)
@(linkage="strong")
@(link_name="fclose")
fclose :: proc "c" (file: rawptr) -> i32 {…}

floor #

Source
@(require)
@(linkage="strong")
@(link_name="floor")
floor :: proc "c" (x: f64) -> f64 {…}

floorf #

Source
@(require)
@(linkage="strong")
@(link_name="floorf")
floorf :: proc "c" (x: f32) -> f32 {…}

fmod #

Source
@(require)
@(linkage="strong")
@(link_name="fmod")
fmod :: proc "c" (x, y: f64) -> f64 {…}

fmodf #

Source
@(require)
@(linkage="strong")
@(link_name="fmodf")
fmodf :: proc "c" (x, y: f32) -> f32 {…}

free #

Source
@(require)
@(linkage="strong")
@(link_name="free")
free :: proc "c" (ptr: rawptr) {…}

getchar #

Source
@(require)
@(linkage="strong")
@(link_name="getchar")
getchar :: proc "c" () -> i32 {…}

init_context #

Source
@(init)
init_context :: proc "contextless" () {…}

isblank #

Source
@(require)
@(linkage="strong")
@(link_name="isblank")
isblank :: proc "c" (c: i32) -> b32 {…}

isdigit #

Source
@(require)
@(linkage="strong")
@(link_name="isdigit")
isdigit :: proc "c" (c: i32) -> b32 {…}

isfinited #

Source
@(require)
@(linkage="strong")
@(link_name="__isfinited")
isfinited :: proc "c" (x: f64) -> bool {…}

isfinitef #

Source
@(require)
@(linkage="strong")
@(link_name="__isfinitef")
isfinitef :: proc "c" (x: f32) -> bool {…}

isinfd #

Source
@(require)
@(linkage="strong")
@(link_name="__isinfd")
isinfd :: proc "c" (v: f64) -> bool {…}

isinff #

Source
@(require)
@(linkage="strong")
@(link_name="__isinff")
isinff :: proc "c" (v: f32) -> bool {…}

isnand #

Source
@(require)
@(linkage="strong")
@(link_name="__isnand")
isnand :: proc "c" (v: f64) -> bool {…}

isnanf #

Source
@(require)
@(linkage="strong")
@(link_name="__isnanf")
isnanf :: proc "c" (v: f32) -> bool {…}

isspace #

Source
@(require)
@(linkage="strong")
@(link_name="isspace")
isspace :: proc "c" (c: i32) -> b32 {…}

ldexp #

Source
@(require)
@(linkage="strong")
@(link_name="ldexp")
ldexp :: proc "c" (x: f64, y: i32) -> f64 {…}

log #

Source
@(require)
@(linkage="strong")
@(link_name="log")
log :: proc "c" (x: f64) -> f64 {…}

log10 #

Source
@(require)
@(linkage="strong")
@(link_name="log10")
log10 :: proc "c" (x: f64) -> f64 {…}

log2 #

Source
@(require)
@(linkage="strong")
@(link_name="log2")
log2 :: proc "c" (x: f64) -> f64 {…}

logf #

Source
@(require)
@(linkage="strong")
@(link_name="logf")
logf :: proc "c" (x: f32) -> f32 {…}

memchr #

Source
@(require)
@(linkage="strong")
@(link_name="memchr")
memchr :: proc "c" (str: [^]u8, c: i32, n: uint) -> [^]u8 {…}

memcmp #

Source
@(require)
@(linkage="strong")
@(link_name="memcmp")
memcmp :: proc "c" (lhs: [^]u8, rhs: [^]u8, count: uint) -> i32 {…}

modf #

Source
@(require)
@(linkage="strong")
@(link_name="modf")
modf :: proc "c" (num: f64, iptr: ^f64) -> f64 {…}

pow #

Source
@(require)
@(linkage="strong")
@(link_name="pow")
pow :: proc "c" (x, y: f64) -> f64 {…}

powf #

Source
@(require)
@(linkage="strong")
@(link_name="powf")
powf :: proc "c" (x, y: f32) -> f32 {…}

putchar #

Source
@(require)
@(linkage="strong")
@(link_name="putchar")
putchar :: proc "c" (char: i32) -> i32 {…}

remainderf #

Source
@(require)
@(linkage="strong")
@(link_name="remainderf")
remainderf :: proc "c" (x, y: f32) -> f32 {…}

sched_yield #

Source
@(require)
@(linkage="strong")
@(link_name="sched_yield")
sched_yield :: proc "c" () -> i32 {…}

set_context #

Source
set_context :: proc(ctx: Context = context) {…}

NOTE: the allocator must respect an `old_size` of `-1` on resizes!

sin #

Source
@(require)
@(linkage="strong")
@(link_name="sin")
sin :: proc "c" (x: f64) -> f64 {…}

sinf #

Source
@(require)
@(linkage="strong")
@(link_name="sinf")
sinf :: proc "c" (v: f32) -> f32 {…}

sqrt #

Source
@(require)
@(linkage="strong")
@(link_name="sqrt")
sqrt :: proc "c" (x: f64) -> f64 {…}

sqrtf #

Source
@(require)
@(linkage="strong")
@(link_name="sqrtf")
sqrtf :: proc "c" (v: f32) -> f32 {…}

tan #

Source
@(require)
@(linkage="strong")
@(link_name="tan")
tan :: proc "c" (x: f64) -> f64 {…}

toupper #

Source
@(require)
@(linkage="strong")
@(link_name="toupper")
toupper :: proc "c" (c: i32) -> i32 {…}

trunc #

Source
@(require)
@(linkage="strong")
@(link_name="trunc")
trunc :: proc "c" (x: f64) -> f64 {…}