diff --git a/README.md b/README.md index e0978f4..389ebbd 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,27 @@ Rust bindings to the [System Informer][sysinf]'s [phnt][docs-rs] This crate provides Rust with access to the **[System Informer][sysinf]**'s (formerly known as **Process Hacker**) [native Windows headers][sysinf.phnt] (shortened to **phnt**) which provide type definitions, constants, macros as well as function prototypes to even undocumented functions and syscalls. -A nightly copy of the phnt is fetched from [phnt-nightly][phnt.nightly]. +| Feature | Description | +| --- | --- | +| [`regenerate`][build-rs] | Regenerated bindings from [phnt (nightly)][phnt.nightly] source code. | +| *`(default)`* | A vendored version of pre-generated bindings are used by default to improve build times. | -**crate version:** 0.0.x aka work-in-progress. +Crate Overview +- [`ffi`][docs-rs-ffi] Bindings for [phnt (nightly)][phnt.nightly] generated by [bindgen][bindgen] + - [Re-exports][docs-rs-ffi-reexports] + - [Structs][docs-rs-ffi-structs] + - [Enums][docs-rs-ffi-enums] + - [Statics][docs-rs-ffi-structs] + - [Functions][docs-rs-ffi-functions] + - [Type Aliases][docs-rs-ffi-type-aliases] + - [Unions][docs-rs-ffi-unions] + +- [`ext`][docs-rs-ext] Extensions to the bindings (useful functions, macros, etc.) + - [Functions][docs-rs-ext-functions] + - [Macros][docs-rs-ext-macros] + + +**crate version:** 0.0.21 - unstable api [github]: https://github.com/oberrich/phnt-rs/actions/workflows/rust.yml [github.img]: https://github.com/oberrich/phnt-rs/actions/workflows/rust.yml/badge.svg @@ -18,6 +36,24 @@ A nightly copy of the phnt is fetched from [phnt-nightly][phnt.nightly]. [docs-rs]: https://docs.rs/phnt [docs-rs.img]: https://docs.rs/phnt/badge.svg +[docs-rs-ffi]: ffi/index.html +[docs-rs-ffi-reexports]: ffi/index.html#reexports +[docs-rs-ffi-structs]: ffi/index.html#structs +[docs-rs-ffi-enums]: ffi/index.html#enums +[docs-rs-ffi-constants]: ffi/index.html#constants +[docs-rs-ffi-statics]: ffi/index.html#statics +[docs-rs-ffi-functions]: ffi/index.html#functions +[docs-rs-ffi-type-aliases]: ffi/index.html#types +[docs-rs-ffi-unions]: ffi/index.html#unions + +[docs-rs-ext]: ext/index.html +[docs-rs-ext-functions]: ext/index.html#functions +[docs-rs-ext-macros]: #macros + +[build-rs]: https://github.com/oberrich/phnt-rs/src/build.rs +[lib-rs]: https://github.com/oberrich/phnt-rs/src/lib.rs + +[bindgen]: https://crates.io/crates/bindgen [sysinf]: https://github.com/winsiderss/systeminformer [sysinf.phnt]: https://github.com/winsiderss/systeminformer/tree/master/phnt [phnt.nightly]: https://github.com/oberrich/phnt_nightly diff --git a/src/build.rs b/src/build.rs index c2b1cba..e671bb9 100644 --- a/src/build.rs +++ b/src/build.rs @@ -115,8 +115,6 @@ impl BindgenConfig { .size_t_is_usize(true) .allowlist_recursively(true) .merge_extern_blocks(true) - // TODO(improve): Build C++ manually and pass -fkeep-inline-functions/-fno-inline-functions - // see https://rust-lang.github.io/rust-bindgen/faq.html#why-isnt-bindgen-generating-bindings-to-inline-functions .generate_inline_functions(true) .vtable_generation(true) .generate_comments(true)