aboutsummaryrefslogtreecommitdiff
path: root/vendor/rustix/src/maybe_polyfill/std/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rustix/src/maybe_polyfill/std/mod.rs')
-rw-r--r--vendor/rustix/src/maybe_polyfill/std/mod.rs43
1 files changed, 43 insertions, 0 deletions
diff --git a/vendor/rustix/src/maybe_polyfill/std/mod.rs b/vendor/rustix/src/maybe_polyfill/std/mod.rs
new file mode 100644
index 0000000..bcaceb9
--- /dev/null
+++ b/vendor/rustix/src/maybe_polyfill/std/mod.rs
@@ -0,0 +1,43 @@
+//! Imports from `std` that would be polyfilled for `no_std` builds (see
+//! `src/polyfill/no_std`).
+//!
+//! This implementation is used when `std` is available and just imports the
+//! necessary items from `std`. For `no_std` builds, the file
+//! `src/polyfill/no_std` is used instead, which doesn't depend on the standard
+//! library.
+
+#[cfg(not(windows))]
+pub mod io {
+ pub use std::io::{IoSlice, IoSliceMut};
+}
+
+#[cfg(not(any(target_os = "redox", target_os = "wasi")))]
+#[cfg(feature = "net")]
+pub mod net {
+ pub use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
+}
+
+pub mod os {
+ pub mod fd {
+ // Change to use `std::os::fd` when MSRV becomes 1.66 or higher.
+
+ #[cfg(unix)]
+ pub use std::os::unix::io::{
+ AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd,
+ };
+ #[cfg(target_os = "wasi")]
+ pub use std::os::wasi::io::{
+ AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd,
+ };
+ }
+
+ #[cfg(windows)]
+ pub mod windows {
+ pub mod io {
+ pub use std::os::windows::io::{
+ AsRawSocket, AsSocket, BorrowedSocket, FromRawSocket, IntoRawSocket, OwnedSocket,
+ RawSocket,
+ };
+ }
+ }
+}