Equivalent to C's `void` type when used as a [pointer]. In essence, `*const c_void` is equivalent to C's `const void*` and `*mut c_void` is equivalent to C's `void*`. That said, this is *not* the same as C's `void` return type, which is Rust's `()` type. To model pointers to opaque types in FFI, until `extern type` is stabilized, it is recommended to use a newtype wrapper around an empty byte array. See the [Nomicon] for details. One could use `std::os::raw::c_void` if they want to support old Rust compiler down to 1.1.0. After Rust 1.30.0, it was re-exported by this definition. For more information, please read [RFC 2521]. [Nomicon]: https://doc.rust-lang.org/nomicon/ffi.html#representing-opaque-structs [RFC 2521]: https://github.com/rust-lang/rfcs/blob/master/text/2521-c_void-reunification.md