summaryrefslogtreecommitdiff
path: root/vendor/rustix/src/ffi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rustix/src/ffi.rs')
-rw-r--r--vendor/rustix/src/ffi.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/rustix/src/ffi.rs b/vendor/rustix/src/ffi.rs
new file mode 100644
index 00000000..073b6b12
--- /dev/null
+++ b/vendor/rustix/src/ffi.rs
@@ -0,0 +1,23 @@
+//! Utilities related to FFI bindings.
+
+// If we have std, use it.
+#[cfg(not(windows))]
+#[cfg(feature = "std")]
+pub use std::ffi::{CStr, CString, FromBytesWithNulError, NulError};
+#[cfg(feature = "std")]
+pub use std::os::raw::{
+ c_char, c_int, c_long, c_longlong, c_short, c_uint, c_ulong, c_ulonglong, c_ushort, c_void,
+};
+
+// If we don't have std, we can depend on core and alloc having these features
+// in Rust 1.64+.
+#[cfg(not(windows))]
+#[cfg(all(feature = "alloc", not(feature = "std")))]
+pub use alloc::ffi::{CString, NulError};
+#[cfg(not(feature = "std"))]
+pub use core::ffi::{
+ c_char, c_int, c_long, c_longlong, c_short, c_uint, c_ulong, c_ulonglong, c_ushort, c_void,
+};
+#[cfg(not(windows))]
+#[cfg(not(feature = "std"))]
+pub use core::ffi::{CStr, FromBytesWithNulError};