| # SPDX-License-Identifier: GPL-2.0 | |
| # We want to map these types to `isize`/`usize` manually, instead of | |
| # define them as `int`/`long` depending on platform bitwidth. | |
| --blocklist-type __kernel_s?size_t | |
| --blocklist-type __kernel_ptrdiff_t | |
| --opaque-type xregs_state | |
| --opaque-type desc_struct | |
| --opaque-type arch_lbr_state | |
| --opaque-type local_apic | |
| # Packed type cannot transitively contain a `#[repr(align)]` type. | |
| --opaque-type alt_instr | |
| --opaque-type x86_msi_data | |
| --opaque-type x86_msi_addr_lo | |
| # `try` is a reserved keyword since Rust 2018; solved in `bindgen` v0.59.2, | |
| # commit 2aed6b021680 ("context: Escape the try keyword properly"). | |
| --opaque-type kunit_try_catch | |
| # If SMP is disabled, `arch_spinlock_t` is defined as a ZST which triggers a Rust | |
| # warning. We don't need to peek into it anyway. | |
| --opaque-type spinlock | |
| # `seccomp`'s comment gets understood as a doctest | |
| --no-doc-comments | |
| # These functions use the `__preserve_most` calling convention, which neither bindgen | |
| # nor Rust currently understand, and which Clang currently declares to be unstable. | |
| --blocklist-function __list_.*_report | |
| # These constants are sometimes not recognized by bindgen depending on config. | |
| # We use const helpers to aid bindgen, to avoid conflicts when constants are | |
| # recognized, block generation of the non-helper constants. | |
| --blocklist-item ARCH_SLAB_MINALIGN |