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