1 //! # Features
2 //! **`func-types`** -- Generate [types][fn_ptr] for external functions.<br/>
3 //! **`impl-default`** -- Implement [`Default`] for structs and unions.<br/>
4 //! **`user`** *(default)* -- Link to `ntdll`.<br/>
5 //! **`kernel`** -- Link to `ntoskrnl` on MSVC targets.<br/>
6 //! **`nightly`** --  Unlock unstable features that require a nightly compiler:
7 //! - [`NtCurrentTeb`]
8 //! - [`__readfsdword`]
9 //! - [`__readgsqword`]
10 //! - [`_bittest64`]
11 //! - [`NtCurrentPeb`]
12 //! - [`NtCurrentProcessId`]
13 //! - [`NtCurrentThreadId`]
14 //! - [`RtlProcessHeap`]
15 //! - [`RtlCheckBit`] implementation using [`_bittest64`] on x86_64.
16 //!
17 //! [`NtCurrentTeb`]: winapi_local/um/winnt/fn.NtCurrentTeb.html
18 //! [`__readfsdword`]: winapi_local/um/winnt/fn.__readfsdword.html
19 //! [`__readgsqword`]: winapi_local/um/winnt/fn.__readgsqword.html
20 //! [`_bittest64`]: winapi_local/um/winnt/fn._bittest64.html
21 //! [`NtCurrentPeb`]: ntpsapi/fn.NtCurrentPeb.html
22 //! [`NtCurrentProcessId`]: ntpsapi/fn.NtCurrentProcessId.html
23 //! [`NtCurrentThreadId`]: ntpsapi/fn.NtCurrentThreadId.html
24 //! [`RtlProcessHeap`]: ntrtl/fn.RtlProcessHeap.html
25 //! [`RtlCheckBit`]: ntrtl/fn.RtlCheckBit.html
26 //! [fn_ptr]: https://doc.rust-lang.org/reference/types.html#function-pointer-types
27 //! [`Default`]: https://doc.rust-lang.org/std/default/trait.Default.html#tymethod.default
28 #![cfg(all(windows, any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64")))]
29 #![no_std]
30 #![deny(unused, unused_qualifications)]
31 #![warn(unused_attributes)]
32 #![allow(bad_style, overflowing_literals, unused_macros, clippy::cast_lossless, clippy::cast_ptr_alignment, clippy::len_without_is_empty, clippy::trivially_copy_pass_by_ref, clippy::unreadable_literal)]
33 #![cfg_attr(feature = "nightly", feature(llvm_asm))]
34 #[doc(hidden)]
35 pub extern crate core as _core;
36 #[macro_use]
37 #[doc(hidden)]
38 pub extern crate winapi;
39 #[macro_use]
40 mod macros;
41 pub mod ntapi_base;
42 pub mod ntdbg;
43 pub mod ntexapi;
44 pub mod ntgdi;
45 pub mod ntioapi;
46 pub mod ntkeapi;
47 pub mod ntldr;
48 pub mod ntlpcapi;
49 pub mod ntmisc;
50 pub mod ntmmapi;
51 pub mod ntnls;
52 pub mod ntobapi;
53 pub mod ntpebteb;
54 pub mod ntpfapi;
55 pub mod ntpnpapi;
56 pub mod ntpoapi;
57 pub mod ntpsapi;
58 pub mod ntregapi;
59 pub mod ntrtl;
60 pub mod ntsam;
61 pub mod ntseapi;
62 pub mod ntsmss;
63 pub mod nttmapi;
64 pub mod nttp;
65 pub mod ntwow64;
66 pub mod ntxcapi;
67 pub mod ntzwapi;
68 pub mod string;
69 pub mod subprocesstag;
70 pub mod winapi_local;
71 pub mod winsta;
72