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