Module core::ffi

1.30.0 · source · []
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.

Structs

CStrExperimental

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.

VaListExperimental

A wrapper for a va_list

VaListImplExperimental

x86_64 ABI implementation of a va_list.

Enums

Equivalent to C’s void type when used as a pointer.

Type Definitions

NonZero_c_charExperimental

Type alias for NonZero version of c_char

NonZero_c_intExperimental

Type alias for NonZero version of c_int

NonZero_c_longExperimental

Type alias for NonZero version of c_long

NonZero_c_longlongExperimental

Type alias for NonZero version of c_longlong

NonZero_c_scharExperimental

Type alias for NonZero version of c_schar

NonZero_c_shortExperimental

Type alias for NonZero version of c_short

NonZero_c_ucharExperimental

Type alias for NonZero version of c_uchar

NonZero_c_uintExperimental

Type alias for NonZero version of c_uint

NonZero_c_ulongExperimental

Type alias for NonZero version of c_ulong

Type alias for NonZero version of c_ulonglong

NonZero_c_ushortExperimental

Type alias for NonZero version of c_ushort

c_charExperimental

Equivalent to C’s char type.

c_doubleExperimental

Equivalent to C’s double type.

c_floatExperimental

Equivalent to C’s float type.

c_intExperimental

Equivalent to C’s signed int (int) type.

c_longExperimental

Equivalent to C’s signed long (long) type.

c_longlongExperimental

Equivalent to C’s signed long long (long long) type.

c_ptrdiff_tExperimental

Equivalent to C’s ptrdiff_t type, from stddef.h (or cstddef for C++).

c_scharExperimental

Equivalent to C’s signed char type.

c_shortExperimental

Equivalent to C’s signed short (short) type.

c_size_tExperimental

Equivalent to C’s size_t type, from stddef.h (or cstddef for C++).

c_ssize_tExperimental

Equivalent to C’s ssize_t (on POSIX) or SSIZE_T (on Windows) type.

c_ucharExperimental

Equivalent to C’s unsigned char type.

c_uintExperimental

Equivalent to C’s unsigned int type.

c_ulongExperimental

Equivalent to C’s unsigned long type.

c_ulonglongExperimental

Equivalent to C’s unsigned long long type.

c_ushortExperimental

Equivalent to C’s unsigned short type.