| // Copyright 2014 The Rust Project Developers. See the COPYRIGHT |
| // file at the top-level directory of this distribution and at |
| // http://rust-lang.org/COPYRIGHT. |
| // |
| // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or |
| // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
| // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your |
| // option. This file may not be copied, modified, or distributed |
| // except according to those terms. |
| |
| //! Experimental extensions to `std` for Unix platforms. |
| //! |
| //! For now, this module is limited to extracting file descriptors, |
| //! but its functionality will grow over time. |
| //! |
| //! # Example |
| //! |
| //! ```no_run |
| //! use std::fs::File; |
| //! use std::os::unix::prelude::*; |
| //! |
| //! fn main() { |
| //! let f = File::create("foo.txt").unwrap(); |
| //! let fd = f.as_raw_fd(); |
| //! |
| //! // use fd with native unix bindings |
| //! } |
| //! ``` |
| |
| #![stable(feature = "rust1", since = "1.0.0")] |
| |
| pub mod io; |
| pub mod ffi; |
| pub mod fs; |
| pub mod process; |
| pub mod raw; |
| pub mod thread; |
| |
| /// A prelude for conveniently writing platform-specific code. |
| /// |
| /// Includes all extension traits, and some important type definitions. |
| #[stable(feature = "rust1", since = "1.0.0")] |
| pub mod prelude { |
| #[doc(no_inline)] #[stable(feature = "rust1", since = "1.0.0")] |
| pub use super::io::{RawFd, AsRawFd, FromRawFd, IntoRawFd}; |
| #[doc(no_inline)] #[stable(feature = "rust1", since = "1.0.0")] |
| pub use super::ffi::{OsStrExt, OsStringExt}; |
| #[doc(no_inline)] #[stable(feature = "rust1", since = "1.0.0")] |
| pub use super::fs::{PermissionsExt, OpenOptionsExt, MetadataExt, FileTypeExt}; |
| #[doc(no_inline)] #[stable(feature = "rust1", since = "1.0.0")] |
| pub use super::fs::{DirEntryExt}; |
| #[doc(no_inline)] #[stable(feature = "rust1", since = "1.0.0")] |
| pub use super::process::{CommandExt, ExitStatusExt}; |
| } |