package core:c
⌘K
Ctrl+K
or
/
Overview
Defines the basic types used by C programs for foreign function and data structure interop.
Packages 1
| libc | Declares the commonly used things in libc (C standard library). |
Index
Types (50)
Variables (0)
This section is empty.
Procedures (0)
This section is empty.
Procedure Groups (0)
This section is empty.
Types
FILE ¶
FILE :: struct {}
bool ¶
bool :: builtin.bool
complex_double ¶
complex_double :: builtin.complex128
complex_float ¶
complex_float :: builtin.complex64
double ¶
double :: builtin.f64
float ¶
float :: builtin.f32
int ¶
int :: builtin.i32
int16_t ¶
int16_t :: builtin.i16
int32_t ¶
int32_t :: builtin.i32
int64_t ¶
int64_t :: builtin.i64
int_fast16_t ¶
int_fast16_t :: builtin.i32
int_fast32_t ¶
int_fast32_t :: builtin.i32
int_fast64_t ¶
int_fast64_t :: builtin.i64
int_fast8_t ¶
int_fast8_t :: builtin.i8
int_least16_t ¶
int_least16_t :: builtin.i16
int_least32_t ¶
int_least32_t :: builtin.i32
int_least64_t ¶
int_least64_t :: builtin.i64
int_least8_t ¶
int_least8_t :: builtin.i8
These are all the same in multiple libc's for multiple architectures.
intmax_t ¶
intmax_t :: builtin.i64
intptr_t ¶
intptr_t :: builtin.int
long ¶
long :: builtin.i32 when (ODIN_OS == .Windows || size_of(builtin.rawptr) == 4) else builtin.i64
longlong ¶
longlong :: builtin.i64
schar ¶
schar :: builtin.i8
short ¶
short :: builtin.i16
size_t ¶
size_t :: builtin.uint
ssize_t ¶
ssize_t :: builtin.int
uchar ¶
uchar :: builtin.u8
uint ¶
uint :: builtin.u32
uint16_t ¶
uint16_t :: builtin.u16
uint32_t ¶
uint32_t :: builtin.u32
uint64_t ¶
uint64_t :: builtin.u64
uint8_t ¶
uint8_t :: builtin.u8
uint_fast16_t ¶
uint_fast16_t :: builtin.u32
uint_fast32_t ¶
uint_fast32_t :: builtin.u32
uint_fast64_t ¶
uint_fast64_t :: builtin.u64
uint_fast8_t ¶
uint_fast8_t :: builtin.u8
uint_least16_t ¶
uint_least16_t :: builtin.u16
uint_least32_t ¶
uint_least32_t :: builtin.u32
uint_least64_t ¶
uint_least64_t :: builtin.u64
uint_least8_t ¶
uint_least8_t :: builtin.u8
uintmax_t ¶
uintmax_t :: builtin.u64
uintptr_t ¶
uintptr_t :: builtin.uintptr
ulong ¶
ulong :: builtin.u32 when (ODIN_OS == .Windows || size_of(builtin.rawptr) == 4) else builtin.u64
ulonglong ¶
ulonglong :: builtin.u64
ushort ¶
ushort :: builtin.u16
wchar_t ¶
wchar_t :: builtin.u16 when (ODIN_OS == .Windows) else builtin.u32
Constants
CHAR_BIT ¶
CHAR_BIT :: 8
INT16_MAX ¶
INT16_MAX: i32 : int(0x7fff)
INT16_MIN ¶
INT16_MIN: i32 : ~INT16_MAX
INT32_MAX ¶
INT32_MAX: i32 : int(0x7fffffff)
INT32_MIN ¶
INT32_MIN: i32 : ~INT32_MAX
INT64_MAX ¶
INT64_MAX: i64 : longlong(0x7fffffffffffffff)
INT64_MIN ¶
INT64_MIN: i64 : ~INT64_MAX
INT8_MAX ¶
INT8_MAX: i32 : int(0x7f)
Copy C's rules for type promotion here by forcing the type on the literals.
INT8_MIN ¶
INT8_MIN: i32 : ~INT8_MAX
NDEBUG ¶
NDEBUG :: !ODIN_DEBUG
NULL ¶
NULL :: rawptr(uintptr(0))
PTRDIFF_MAX ¶
PTRDIFF_MAX: ptrdiff_t : max(ptrdiff_t)
PTRDIFF_MIN ¶
PTRDIFF_MIN: ptrdiff_t : min(ptrdiff_t)
SIZE_MAX ¶
SIZE_MAX: uint : max(size_t)
UINT16_MAX ¶
UINT16_MAX: i32 : int(0xffff)
UINT32_MAX ¶
UINT32_MAX: u32 : uint(0xffffffff)
UINT64_MAX ¶
UINT64_MAX: u64 : ulonglong(0xffffffffffffffff)
UINT8_MAX ¶
UINT8_MAX: i32 : int(0xff)
WCHAR_MAX ¶
WCHAR_MAX: u16 : max(wchar_t)
WCHAR_MIN ¶
WCHAR_MIN: u16 : min(wchar_t)
Variables
This section is empty.
Procedures
This section is empty.
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-10 00:25:51.511820200 +0000 UTC