rust/library/core/src/ffi/c_long.md
Josh Triplett 335c9609c6 Provide C FFI types via core::ffi, not just in std
The ability to interoperate with C code via FFI is not limited to crates
using std; this allows using these types without std.

The existing types in `std::os::raw` become type aliases for the ones in
`core::ffi`. This uses type aliases rather than re-exports, to allow the
std types to remain stable while the core types are unstable.

This also moves the currently unstable `NonZero_` variants and
`c_size_t`/`c_ssize_t`/`c_ptrdiff_t` types to `core::ffi`, while leaving
them unstable.
2022-03-01 17:16:05 -08:00

418 B

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

This type will always be [i32] or [i64]. Most notably, many Linux-based systems assume an i64, but Windows assumes i32. The C standard technically only requires that this type be a signed integer that is at least 32 bits and at least the size of an int, although in practice, no system would have a long that is neither an i32 nor i64.