1 //! See [std::os](https://doc.rust-lang.org/std/os/index.html). 2 3 /// Platform-specific extensions to `std` for Windows. 4 /// 5 /// See [std::os::windows](https://doc.rust-lang.org/std/os/windows/index.html). 6 pub mod windows { 7 /// Windows-specific extensions to general I/O primitives. 8 /// 9 /// See [std::os::windows::io](https://doc.rust-lang.org/std/os/windows/io/index.html). 10 pub mod io { 11 /// See [std::os::windows::io::RawHandle](https://doc.rust-lang.org/std/os/windows/io/type.RawHandle.html) 12 pub type RawHandle = crate::doc::NotDefinedHere; 13 14 /// See [std::os::windows::io::OwnedHandle](https://doc.rust-lang.org/std/os/windows/io/struct.OwnedHandle.html) 15 pub type OwnedHandle = crate::doc::NotDefinedHere; 16 17 /// See [std::os::windows::io::AsRawHandle](https://doc.rust-lang.org/std/os/windows/io/trait.AsRawHandle.html) 18 pub trait AsRawHandle { 19 /// See [std::os::windows::io::AsRawHandle::as_raw_handle](https://doc.rust-lang.org/std/os/windows/io/trait.AsRawHandle.html#tymethod.as_raw_handle) as_raw_handle(&self) -> RawHandle20 fn as_raw_handle(&self) -> RawHandle; 21 } 22 23 /// See [std::os::windows::io::FromRawHandle](https://doc.rust-lang.org/std/os/windows/io/trait.FromRawHandle.html) 24 pub trait FromRawHandle { 25 /// See [std::os::windows::io::FromRawHandle::from_raw_handle](https://doc.rust-lang.org/std/os/windows/io/trait.FromRawHandle.html#tymethod.from_raw_handle) from_raw_handle(handle: RawHandle) -> Self26 unsafe fn from_raw_handle(handle: RawHandle) -> Self; 27 } 28 29 /// See [std::os::windows::io::RawSocket](https://doc.rust-lang.org/std/os/windows/io/type.RawSocket.html) 30 pub type RawSocket = crate::doc::NotDefinedHere; 31 32 /// See [std::os::windows::io::AsRawSocket](https://doc.rust-lang.org/std/os/windows/io/trait.AsRawSocket.html) 33 pub trait AsRawSocket { 34 /// See [std::os::windows::io::AsRawSocket::as_raw_socket](https://doc.rust-lang.org/std/os/windows/io/trait.AsRawSocket.html#tymethod.as_raw_socket) as_raw_socket(&self) -> RawSocket35 fn as_raw_socket(&self) -> RawSocket; 36 } 37 38 /// See [std::os::windows::io::FromRawSocket](https://doc.rust-lang.org/std/os/windows/io/trait.FromRawSocket.html) 39 pub trait FromRawSocket { 40 /// See [std::os::windows::io::FromRawSocket::from_raw_socket](https://doc.rust-lang.org/std/os/windows/io/trait.FromRawSocket.html#tymethod.from_raw_socket) from_raw_socket(sock: RawSocket) -> Self41 unsafe fn from_raw_socket(sock: RawSocket) -> Self; 42 } 43 44 /// See [std::os::windows::io::IntoRawSocket](https://doc.rust-lang.org/std/os/windows/io/trait.IntoRawSocket.html) 45 pub trait IntoRawSocket { 46 /// See [std::os::windows::io::IntoRawSocket::into_raw_socket](https://doc.rust-lang.org/std/os/windows/io/trait.IntoRawSocket.html#tymethod.into_raw_socket) into_raw_socket(self) -> RawSocket47 fn into_raw_socket(self) -> RawSocket; 48 } 49 50 /// See [std::os::windows::io::BorrowedHandle](https://doc.rust-lang.org/std/os/windows/io/struct.BorrowedHandle.html) 51 pub type BorrowedHandle<'handle> = crate::doc::NotDefinedHere; 52 53 /// See [std::os::windows::io::AsHandle](https://doc.rust-lang.org/std/os/windows/io/trait.AsHandle.html) 54 pub trait AsHandle { 55 /// See [std::os::windows::io::AsHandle::as_handle](https://doc.rust-lang.org/std/os/windows/io/trait.AsHandle.html#tymethod.as_handle) as_handle(&self) -> BorrowedHandle<'_>56 fn as_handle(&self) -> BorrowedHandle<'_>; 57 } 58 59 /// See [std::os::windows::io::BorrowedSocket](https://doc.rust-lang.org/std/os/windows/io/struct.BorrowedSocket.html) 60 pub type BorrowedSocket<'socket> = crate::doc::NotDefinedHere; 61 62 /// See [std::os::windows::io::AsSocket](https://doc.rust-lang.org/std/os/windows/io/trait.AsSocket.html) 63 pub trait AsSocket { 64 /// See [std::os::windows::io::AsSocket::as_socket](https://doc.rust-lang.org/std/os/windows/io/trait.AsSocket.html#tymethod.as_socket) as_socket(&self) -> BorrowedSocket<'_>65 fn as_socket(&self) -> BorrowedSocket<'_>; 66 } 67 } 68 } 69