Expand description
Platform-specific types, as defined by C.
Code that interacts via FFI will almost certainly be using the base types provided by C, which aren’t nearly as nicely defined as Rust’s primitive types. This module provides types which will match those defined by C, so that code that interacts with C will refer to the correct types.
Modules
- c_str 🔒
Macros
Structs
- VaListExperimentalA wrapper for a
va_list
- VaListImplExperimentalx86_64 ABI implementation of a
va_list
. - Representation of a borrowed C string.
- An error indicating that no nul byte was present.
- An error indicating that a nul byte was not in the expected position.
Enums
- Equivalent to C’s
void
type when used as a pointer.
Functions
- va_arg 🔒 ⚠Loads an argument of type
T
from theva_list
ap
and increment the argumentap
points to. - va_copy 🔒 ⚠Copies the current location of arglist
src
to the arglistdst
. - va_end 🔒 ⚠Destroy the arglist
ap
after initialization withva_start
orva_copy
.
Type Definitions
- NonZero_c_charExperimentalType alias for
NonZero
version ofc_char
- NonZero_c_intExperimentalType alias for
NonZero
version ofc_int
- NonZero_c_longExperimentalType alias for
NonZero
version ofc_long
- NonZero_c_longlongExperimentalType alias for
NonZero
version ofc_longlong
- NonZero_c_scharExperimentalType alias for
NonZero
version ofc_schar
- NonZero_c_shortExperimentalType alias for
NonZero
version ofc_short
- NonZero_c_ucharExperimentalType alias for
NonZero
version ofc_uchar
- NonZero_c_uintExperimentalType alias for
NonZero
version ofc_uint
- NonZero_c_ulongExperimentalType alias for
NonZero
version ofc_ulong
- NonZero_c_ulonglongExperimentalType alias for
NonZero
version ofc_ulonglong
- NonZero_c_ushortExperimentalType alias for
NonZero
version ofc_ushort
- c_ptrdiff_tExperimentalEquivalent to C’s
ptrdiff_t
type, fromstddef.h
(orcstddef
for C++). - c_size_tExperimentalEquivalent to C’s
size_t
type, fromstddef.h
(orcstddef
for C++). - c_ssize_tExperimentalEquivalent to C’s
ssize_t
(on POSIX) orSSIZE_T
(on Windows) type. - Equivalent to C’s
char
type. - Equivalent to C’s
double
type. - Equivalent to C’s
float
type. - Equivalent to C’s
signed int
(int
) type. - Equivalent to C’s
signed long
(long
) type. - Equivalent to C’s
signed long long
(long long
) type. - Equivalent to C’s
signed char
type. - Equivalent to C’s
signed short
(short
) type. - Equivalent to C’s
unsigned char
type. - Equivalent to C’s
unsigned int
type. - Equivalent to C’s
unsigned long
type. - Equivalent to C’s
unsigned long long
type. - Equivalent to C’s
unsigned short
type.