package core:c
⌘K
Ctrl+K
or
/
Overview
Defines the basic types used by C programs for foreign function and data structure interop.
Index
Types (50)
Variables (0)
This section is empty.
Procedures (0)
This section is empty.
Procedure Groups (0)
This section is empty.
Types
complex_double ¶
complex_double :: builtin.complex128
complex_float ¶
complex_float :: builtin.complex64
int_fast16_t ¶
int_fast16_t :: long
int_fast32_t ¶
int_fast32_t :: long
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
uint16_t ¶
uint16_t :: builtin.u16
uint32_t ¶
uint32_t :: builtin.u32
uint64_t ¶
uint64_t :: builtin.u64
uint_fast16_t ¶
uint_fast16_t :: ulong
uint_fast32_t ¶
uint_fast32_t :: ulong
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
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
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-09 (vendor "odin") Windows_amd64 @ 2026-09-19 22:37:04.593063100 +0000 UTC