kvm-bindings-0.1.1/.gitignore010064403073240001001000000000311342005354300142760ustar0000000000000000/target **/*.rs.bk .idea kvm-bindings-0.1.1/.travis.yml010064403073240001001000000003771342131066700144400ustar0000000000000000language: rust rust: - stable script: - cargo build --release - cargo build --release --features kvm-v4_14_0 - cargo build --release --features kvm-v4_20_0 - cargo test - cargo test --features kvm-v4_14_0 - cargo test --features kvm-v4_20_0 kvm-bindings-0.1.1/CHANGELOG.md010064403073240001001000000001721342005131000141130ustar0000000000000000# [0.1.0] ### Added - KVM bindings for Linux kernel version 4.14 and 4.20 with support for arm, arm64, x86 and x86_64.kvm-bindings-0.1.1/CONTRIBUTING.md010064403073240001001000000040061342005235100145410ustar0000000000000000# Contributing to kvm-bindings ## Dependencies ### Bindgen The bindings are currently generated using [bindgen](https://crates.io/crates/bindgen) version 0.46.0: ```bash cargo install bindgen --vers 0.46.0 ``` ### Linux Kernel Generating bindings depends on the Linux kernel, so you need to have the repository on your machine: ```bash git clone https://github.com/torvalds/linux.git ``` ## Add a new architecture When adding a new architecture, the bindings must be generated for all existing versions for consistency reasons. ### Example for arm64 and version 4.14 and 4.20 For this example we assume that you have both linux and kvm-bindings repositories in your root. ```bash # Step 1: Crate a new module using the name of the architecture in src/ cd kvm-bindings mkdir src/arm64 cd ~ # linux is the repository that you cloned at the previous step. cd linux # Step 2: Checkout the version you want to generate the bindings for. git checkout v4.14 # Step 3: Generate the bindings. # This will generate the headers for the targeted architecture and place them # in the user specified directory. In this case, we generate them in the # arm64_v4_20_headers directory. make headers_install ARCH=arm64 INSTALL_HDR_PATH=arm64_v4_20_headers cd arm64_v4_20_headers bindgen include/linux/kvm.h -o bindings_v4_20_0.rs \ --with-derive-default --with-derive-partialeq -- -Iinclude cd ~ # Step 4: Copy the generated file to the arm64 module. cp linux/arm64_v4_20_headers/bindings_v4_20_0.rs ``` Steps 2, 3 and 4 must be repeated for each of the existing KVM versions. Don't forget to change the name of the bindings file using the appropriate version. Now that we have the bindings generated, we can copy the module file from one of the existing modules as this is only changed when a new version is added. ```bash cp arm/mod.rs arm64/ ``` Also, you will need to add the new architecture to `kvm-bindings/lib.rs`. # Future Improvements All the above steps are scriptable, so in the next iteration I will add a script to generate the bindings.kvm-bindings-0.1.1/Cargo.toml.orig010064403073240001001000000005561342237343700152220ustar0000000000000000[package] name = "kvm-bindings" version = "0.1.1" authors = ["Amazon firecracker team "] description = "Rust FFI bindings to KVM generated using bindgen." repository = "https://github.com/rust-vmm/kvm-bindings" readme = "README.md" keywords = ["kvm"] license = "Apache-2.0" [features] kvm-v4_14_0 = [] kvm-v4_20_0 = [] [dependencies] kvm-bindings-0.1.1/Cargo.toml0000644000000015720000000000000114650ustar00# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g. crates.io) dependencies # # If you believe there's an error in this file please file an # issue against the rust-lang/cargo repository. If you're # editing this file be aware that the upstream Cargo.toml # will likely look very different (and much more reasonable) [package] name = "kvm-bindings" version = "0.1.1" authors = ["Amazon firecracker team "] description = "Rust FFI bindings to KVM generated using bindgen." readme = "README.md" keywords = ["kvm"] license = "Apache-2.0" repository = "https://github.com/rust-vmm/kvm-bindings" [dependencies] [features] kvm-v4_14_0 = [] kvm-v4_20_0 = [] kvm-bindings-0.1.1/LICENSE010064403073240001001000000261361342005072200133250ustar0000000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. kvm-bindings-0.1.1/README.md010064403073240001001000000021321342131710400135660ustar0000000000000000[![Build Status](https://travis-ci.org/rust-vmm/kvm-bindings.svg?branch=master)](https://travis-ci.org/rust-vmm/kvm-bindings) [![Crates.io](https://img.shields.io/crates/v/kvm-bindings.svg)](https://crates.io/crates/kvm-bindings) ![](https://img.shields.io/crates/l/kvm-bindings.svg) # kvm-bindings Rust FFI bindings to KVM generated using [bindgen](https://crates.io/crates/bindgen). It currently has support for the following target architectures: - x86 - x86_64 - arm - arm64 # Usage First, add the following to your `Cargo.toml`: ```toml kvm-bindings = "0.1" ``` Next, add this to your crate root: ```rust extern crate kvm_bindings; ``` By default `kvm-bindings` will export a wrapper over the latest available kernel version (4.20), but you can select a different version by specifying it in your toml: ```toml kvm-bindings = { version = "0.1", features = ["kvm_v4_20_0"]} ``` In the `kvm-bindings` crate each feature maps to exactly one Linux version as follows: - `kvm_v4_14_0` contains the bindings for the Linux kernel version 4.14 - `kvm_v4_20_0` contains the bindings for the Linux kernel version 4.20 kvm-bindings-0.1.1/src/arm/bindings_v4_14_0.rs010064403073240001001000006104461342005264200171730ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* automatically generated by rust-bindgen */ #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub const __BITS_PER_LONG: u32 = 32; pub const __FD_SETSIZE: u32 = 1024; pub const _IOC_NRBITS: u32 = 8; pub const _IOC_TYPEBITS: u32 = 8; pub const _IOC_SIZEBITS: u32 = 14; pub const _IOC_DIRBITS: u32 = 2; pub const _IOC_NRMASK: u32 = 255; pub const _IOC_TYPEMASK: u32 = 255; pub const _IOC_SIZEMASK: u32 = 16383; pub const _IOC_DIRMASK: u32 = 3; pub const _IOC_NRSHIFT: u32 = 0; pub const _IOC_TYPESHIFT: u32 = 8; pub const _IOC_SIZESHIFT: u32 = 16; pub const _IOC_DIRSHIFT: u32 = 30; pub const _IOC_NONE: u32 = 0; pub const _IOC_WRITE: u32 = 1; pub const _IOC_READ: u32 = 2; pub const IOC_IN: u32 = 1073741824; pub const IOC_OUT: u32 = 2147483648; pub const IOC_INOUT: u32 = 3221225472; pub const IOCSIZE_MASK: u32 = 1073676288; pub const IOCSIZE_SHIFT: u32 = 16; pub const PSCI_0_2_FN_BASE: u32 = 2214592512; pub const PSCI_0_2_64BIT: u32 = 1073741824; pub const PSCI_0_2_FN64_BASE: u32 = 3288334336; pub const PSCI_0_2_POWER_STATE_ID_MASK: u32 = 65535; pub const PSCI_0_2_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_0_2_POWER_STATE_TYPE_SHIFT: u32 = 16; pub const PSCI_0_2_POWER_STATE_TYPE_MASK: u32 = 65536; pub const PSCI_0_2_POWER_STATE_AFFL_SHIFT: u32 = 24; pub const PSCI_0_2_POWER_STATE_AFFL_MASK: u32 = 50331648; pub const PSCI_1_0_EXT_POWER_STATE_ID_MASK: u32 = 268435455; pub const PSCI_1_0_EXT_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT: u32 = 30; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_MASK: u32 = 1073741824; pub const PSCI_0_2_AFFINITY_LEVEL_ON: u32 = 0; pub const PSCI_0_2_AFFINITY_LEVEL_OFF: u32 = 1; pub const PSCI_0_2_AFFINITY_LEVEL_ON_PENDING: u32 = 2; pub const PSCI_0_2_TOS_UP_MIGRATE: u32 = 0; pub const PSCI_0_2_TOS_UP_NO_MIGRATE: u32 = 1; pub const PSCI_0_2_TOS_MP: u32 = 2; pub const PSCI_VERSION_MAJOR_SHIFT: u32 = 16; pub const PSCI_VERSION_MINOR_MASK: u32 = 65535; pub const PSCI_VERSION_MAJOR_MASK: i32 = -65536; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT: u32 = 1; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK: u32 = 2; pub const PSCI_RET_SUCCESS: u32 = 0; pub const PSCI_RET_NOT_SUPPORTED: i32 = -1; pub const PSCI_RET_INVALID_PARAMS: i32 = -2; pub const PSCI_RET_DENIED: i32 = -3; pub const PSCI_RET_ALREADY_ON: i32 = -4; pub const PSCI_RET_ON_PENDING: i32 = -5; pub const PSCI_RET_INTERNAL_FAILURE: i32 = -6; pub const PSCI_RET_NOT_PRESENT: i32 = -7; pub const PSCI_RET_DISABLED: i32 = -8; pub const PSCI_RET_INVALID_ADDRESS: i32 = -9; pub const HWCAP_SWP: u32 = 1; pub const HWCAP_HALF: u32 = 2; pub const HWCAP_THUMB: u32 = 4; pub const HWCAP_26BIT: u32 = 8; pub const HWCAP_FAST_MULT: u32 = 16; pub const HWCAP_FPA: u32 = 32; pub const HWCAP_VFP: u32 = 64; pub const HWCAP_EDSP: u32 = 128; pub const HWCAP_JAVA: u32 = 256; pub const HWCAP_IWMMXT: u32 = 512; pub const HWCAP_CRUNCH: u32 = 1024; pub const HWCAP_THUMBEE: u32 = 2048; pub const HWCAP_NEON: u32 = 4096; pub const HWCAP_VFPv3: u32 = 8192; pub const HWCAP_VFPv3D16: u32 = 16384; pub const HWCAP_TLS: u32 = 32768; pub const HWCAP_VFPv4: u32 = 65536; pub const HWCAP_IDIVA: u32 = 131072; pub const HWCAP_IDIVT: u32 = 262144; pub const HWCAP_VFPD32: u32 = 524288; pub const HWCAP_IDIV: u32 = 393216; pub const HWCAP_LPAE: u32 = 1048576; pub const HWCAP_EVTSTRM: u32 = 2097152; pub const HWCAP2_AES: u32 = 1; pub const HWCAP2_PMULL: u32 = 2; pub const HWCAP2_SHA1: u32 = 4; pub const HWCAP2_SHA2: u32 = 8; pub const HWCAP2_CRC32: u32 = 16; pub const PTRACE_GETREGS: u32 = 12; pub const PTRACE_SETREGS: u32 = 13; pub const PTRACE_GETFPREGS: u32 = 14; pub const PTRACE_SETFPREGS: u32 = 15; pub const PTRACE_GETWMMXREGS: u32 = 18; pub const PTRACE_SETWMMXREGS: u32 = 19; pub const PTRACE_OLDSETOPTIONS: u32 = 21; pub const PTRACE_GET_THREAD_AREA: u32 = 22; pub const PTRACE_SET_SYSCALL: u32 = 23; pub const PTRACE_GETCRUNCHREGS: u32 = 25; pub const PTRACE_SETCRUNCHREGS: u32 = 26; pub const PTRACE_GETVFPREGS: u32 = 27; pub const PTRACE_SETVFPREGS: u32 = 28; pub const PTRACE_GETHBPREGS: u32 = 29; pub const PTRACE_SETHBPREGS: u32 = 30; pub const USR26_MODE: u32 = 0; pub const FIQ26_MODE: u32 = 1; pub const IRQ26_MODE: u32 = 2; pub const SVC26_MODE: u32 = 3; pub const USR_MODE: u32 = 16; pub const SVC_MODE: u32 = 19; pub const FIQ_MODE: u32 = 17; pub const IRQ_MODE: u32 = 18; pub const ABT_MODE: u32 = 23; pub const HYP_MODE: u32 = 26; pub const UND_MODE: u32 = 27; pub const SYSTEM_MODE: u32 = 31; pub const MODE32_BIT: u32 = 16; pub const MODE_MASK: u32 = 31; pub const V4_PSR_T_BIT: u32 = 32; pub const V7M_PSR_T_BIT: u32 = 16777216; pub const PSR_T_BIT: u32 = 32; pub const PSR_F_BIT: u32 = 64; pub const PSR_I_BIT: u32 = 128; pub const PSR_A_BIT: u32 = 256; pub const PSR_E_BIT: u32 = 512; pub const PSR_J_BIT: u32 = 16777216; pub const PSR_Q_BIT: u32 = 134217728; pub const PSR_V_BIT: u32 = 268435456; pub const PSR_C_BIT: u32 = 536870912; pub const PSR_Z_BIT: u32 = 1073741824; pub const PSR_N_BIT: u32 = 2147483648; pub const PSR_f: u32 = 4278190080; pub const PSR_s: u32 = 16711680; pub const PSR_x: u32 = 65280; pub const PSR_c: u32 = 255; pub const APSR_MASK: u32 = 4161732608; pub const PSR_ISET_MASK: u32 = 16777232; pub const PSR_IT_MASK: u32 = 100727808; pub const PSR_ENDIAN_MASK: u32 = 512; pub const PSR_ENDSTATE: u32 = 0; pub const PT_TEXT_ADDR: u32 = 65536; pub const PT_DATA_ADDR: u32 = 65540; pub const PT_TEXT_END_ADDR: u32 = 65544; pub const ARM_VFPREGS_SIZE: u32 = 260; pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 1; pub const KVM_ARM_TARGET_CORTEX_A15: u32 = 0; pub const KVM_ARM_TARGET_CORTEX_A7: u32 = 1; pub const KVM_ARM_NUM_TARGETS: u32 = 2; pub const KVM_ARM_DEVICE_TYPE_SHIFT: u32 = 0; pub const KVM_ARM_DEVICE_TYPE_MASK: u32 = 65535; pub const KVM_ARM_DEVICE_ID_SHIFT: u32 = 16; pub const KVM_ARM_DEVICE_ID_MASK: u32 = 4294901760; pub const KVM_ARM_DEVICE_VGIC_V2: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_DIST: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_CPU: u32 = 1; pub const KVM_VGIC_V2_DIST_SIZE: u32 = 4096; pub const KVM_VGIC_V2_CPU_SIZE: u32 = 8192; pub const KVM_VGIC_V3_ADDR_TYPE_DIST: u32 = 2; pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: u32 = 3; pub const KVM_VGIC_ITS_ADDR_TYPE: u32 = 4; pub const KVM_ARM_VCPU_POWER_OFF: u32 = 0; pub const KVM_ARM_VCPU_PSCI_0_2: u32 = 1; pub const KVM_REG_ARM_COPROC_MASK: u32 = 268369920; pub const KVM_REG_ARM_COPROC_SHIFT: u32 = 16; pub const KVM_REG_ARM_32_OPC2_MASK: u32 = 7; pub const KVM_REG_ARM_32_OPC2_SHIFT: u32 = 0; pub const KVM_REG_ARM_OPC1_MASK: u32 = 120; pub const KVM_REG_ARM_OPC1_SHIFT: u32 = 3; pub const KVM_REG_ARM_CRM_MASK: u32 = 1920; pub const KVM_REG_ARM_CRM_SHIFT: u32 = 7; pub const KVM_REG_ARM_32_CRN_MASK: u32 = 30720; pub const KVM_REG_ARM_32_CRN_SHIFT: u32 = 11; pub const KVM_REG_ARM_CORE: u32 = 1048576; pub const KVM_REG_ARM_DEMUX: u32 = 1114112; pub const KVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280; pub const KVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8; pub const KVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0; pub const KVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255; pub const KVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0; pub const KVM_REG_ARM_VFP: u32 = 1179648; pub const KVM_REG_ARM_VFP_MASK: u32 = 65535; pub const KVM_REG_ARM_VFP_BASE_REG: u32 = 0; pub const KVM_REG_ARM_VFP_FPSID: u32 = 4096; pub const KVM_REG_ARM_VFP_FPSCR: u32 = 4097; pub const KVM_REG_ARM_VFP_MVFR1: u32 = 4102; pub const KVM_REG_ARM_VFP_MVFR0: u32 = 4103; pub const KVM_REG_ARM_VFP_FPEXC: u32 = 4104; pub const KVM_REG_ARM_VFP_FPINST: u32 = 4105; pub const KVM_REG_ARM_VFP_FPINST2: u32 = 4106; pub const KVM_DEV_ARM_VGIC_GRP_ADDR: u32 = 0; pub const KVM_DEV_ARM_VGIC_GRP_DIST_REGS: u32 = 1; pub const KVM_DEV_ARM_VGIC_GRP_CPU_REGS: u32 = 2; pub const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_CPUID_MASK: u64 = 1095216660480; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_MASK: i64 = -4294967296; pub const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; pub const KVM_DEV_ARM_VGIC_OFFSET_MASK: u32 = 4294967295; pub const KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK: u32 = 65535; pub const KVM_DEV_ARM_VGIC_GRP_NR_IRQS: u32 = 3; pub const KVM_DEV_ARM_VGIC_GRP_CTRL: u32 = 4; pub const KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: u32 = 5; pub const KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: u32 = 6; pub const KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: u32 = 7; pub const KVM_DEV_ARM_VGIC_GRP_ITS_REGS: u32 = 8; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT: u32 = 10; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK: u32 = 4294966272; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK: u32 = 1023; pub const VGIC_LEVEL_INFO_LINE_LEVEL: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_CTRL: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_IRQ: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_INIT: u32 = 1; pub const KVM_ARM_VCPU_TIMER_CTRL: u32 = 1; pub const KVM_ARM_VCPU_TIMER_IRQ_VTIMER: u32 = 0; pub const KVM_ARM_VCPU_TIMER_IRQ_PTIMER: u32 = 1; pub const KVM_DEV_ARM_VGIC_CTRL_INIT: u32 = 0; pub const KVM_DEV_ARM_ITS_SAVE_TABLES: u32 = 1; pub const KVM_DEV_ARM_ITS_RESTORE_TABLES: u32 = 2; pub const KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES: u32 = 3; pub const KVM_ARM_IRQ_TYPE_SHIFT: u32 = 24; pub const KVM_ARM_IRQ_TYPE_MASK: u32 = 255; pub const KVM_ARM_IRQ_VCPU_SHIFT: u32 = 16; pub const KVM_ARM_IRQ_VCPU_MASK: u32 = 255; pub const KVM_ARM_IRQ_NUM_SHIFT: u32 = 0; pub const KVM_ARM_IRQ_NUM_MASK: u32 = 65535; pub const KVM_ARM_IRQ_TYPE_CPU: u32 = 0; pub const KVM_ARM_IRQ_TYPE_SPI: u32 = 1; pub const KVM_ARM_IRQ_TYPE_PPI: u32 = 2; pub const KVM_ARM_IRQ_CPU_IRQ: u32 = 0; pub const KVM_ARM_IRQ_CPU_FIQ: u32 = 1; pub const KVM_ARM_IRQ_GIC_MAX: u32 = 127; pub const KVM_NR_IRQCHIPS: u32 = 1; pub const KVM_PSCI_FN_BASE: u32 = 2512501342; pub const KVM_PSCI_RET_SUCCESS: u32 = 0; pub const KVM_PSCI_RET_NI: i32 = -1; pub const KVM_PSCI_RET_INVAL: i32 = -2; pub const KVM_PSCI_RET_DENIED: i32 = -3; pub const KVM_API_VERSION: u32 = 12; pub const KVM_TRC_SHIFT: u32 = 16; pub const KVM_TRC_ENTRYEXIT: u32 = 65536; pub const KVM_TRC_HANDLER: u32 = 131072; pub const KVM_TRC_VMENTRY: u32 = 65537; pub const KVM_TRC_VMEXIT: u32 = 65538; pub const KVM_TRC_PAGE_FAULT: u32 = 131073; pub const KVM_TRC_HEAD_SIZE: u32 = 12; pub const KVM_TRC_CYCLE_SIZE: u32 = 8; pub const KVM_TRC_EXTRA_MAX: u32 = 7; pub const KVM_TRC_INJ_VIRQ: u32 = 131074; pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; pub const KVM_TRC_PEND_INTR: u32 = 131076; pub const KVM_TRC_IO_READ: u32 = 131077; pub const KVM_TRC_IO_WRITE: u32 = 131078; pub const KVM_TRC_CR_READ: u32 = 131079; pub const KVM_TRC_CR_WRITE: u32 = 131080; pub const KVM_TRC_DR_READ: u32 = 131081; pub const KVM_TRC_DR_WRITE: u32 = 131082; pub const KVM_TRC_MSR_READ: u32 = 131083; pub const KVM_TRC_MSR_WRITE: u32 = 131084; pub const KVM_TRC_CPUID: u32 = 131085; pub const KVM_TRC_INTR: u32 = 131086; pub const KVM_TRC_NMI: u32 = 131087; pub const KVM_TRC_VMMCALL: u32 = 131088; pub const KVM_TRC_HLT: u32 = 131089; pub const KVM_TRC_CLTS: u32 = 131090; pub const KVM_TRC_LMSW: u32 = 131091; pub const KVM_TRC_APIC_ACCESS: u32 = 131092; pub const KVM_TRC_TDP_FAULT: u32 = 131093; pub const KVM_TRC_GTLB_WRITE: u32 = 131094; pub const KVM_TRC_STLB_WRITE: u32 = 131095; pub const KVM_TRC_STLB_INVAL: u32 = 131096; pub const KVM_TRC_PPC_INSTR: u32 = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; pub const KVM_MEM_READONLY: u32 = 2; pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; pub const KVM_S390_CMMA_PEEK: u32 = 1; pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; pub const KVM_S390_SKEYS_MAX: u32 = 1048576; pub const KVM_EXIT_UNKNOWN: u32 = 0; pub const KVM_EXIT_EXCEPTION: u32 = 1; pub const KVM_EXIT_IO: u32 = 2; pub const KVM_EXIT_HYPERCALL: u32 = 3; pub const KVM_EXIT_DEBUG: u32 = 4; pub const KVM_EXIT_HLT: u32 = 5; pub const KVM_EXIT_MMIO: u32 = 6; pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; pub const KVM_EXIT_SHUTDOWN: u32 = 8; pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; pub const KVM_EXIT_INTR: u32 = 10; pub const KVM_EXIT_SET_TPR: u32 = 11; pub const KVM_EXIT_TPR_ACCESS: u32 = 12; pub const KVM_EXIT_S390_SIEIC: u32 = 13; pub const KVM_EXIT_S390_RESET: u32 = 14; pub const KVM_EXIT_DCR: u32 = 15; pub const KVM_EXIT_NMI: u32 = 16; pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; pub const KVM_EXIT_OSI: u32 = 18; pub const KVM_EXIT_PAPR_HCALL: u32 = 19; pub const KVM_EXIT_S390_UCONTROL: u32 = 20; pub const KVM_EXIT_WATCHDOG: u32 = 21; pub const KVM_EXIT_S390_TSCH: u32 = 22; pub const KVM_EXIT_EPR: u32 = 23; pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; pub const KVM_EXIT_S390_STSI: u32 = 25; pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; pub const KVM_EXIT_HYPERV: u32 = 27; pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; pub const KVM_EXIT_IO_IN: u32 = 0; pub const KVM_EXIT_IO_OUT: u32 = 1; pub const KVM_S390_RESET_POR: u32 = 1; pub const KVM_S390_RESET_CLEAR: u32 = 2; pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; pub const KVM_S390_RESET_CPU_INIT: u32 = 8; pub const KVM_S390_RESET_IPL: u32 = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; pub const KVM_MP_STATE_RUNNABLE: u32 = 0; pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; pub const KVM_MP_STATE_HALTED: u32 = 3; pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; pub const KVM_MP_STATE_STOPPED: u32 = 5; pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; pub const KVM_MP_STATE_OPERATING: u32 = 7; pub const KVM_MP_STATE_LOAD: u32 = 8; pub const KVM_S390_SIGP_STOP: u32 = 4294836224; pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; pub const KVM_S390_RESTART: u32 = 4294836227; pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; pub const KVM_S390_MCHK: u32 = 4294840320; pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; pub const KVM_S390_INT_SERVICE: u32 = 4294910977; pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; pub const KVM_S390_INT_IO_MIN: u32 = 0; pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; pub const KVM_GUESTDBG_ENABLE: u32 = 1; pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; pub const KVM_PPC_1T_SEGMENTS: u32 = 2; pub const KVMIO: u32 = 174; pub const KVM_VM_S390_UCONTROL: u32 = 1; pub const KVM_VM_PPC_HV: u32 = 1; pub const KVM_VM_PPC_PR: u32 = 2; pub const KVM_VM_MIPS_TE: u32 = 0; pub const KVM_VM_MIPS_VZ: u32 = 1; pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; pub const KVM_CAP_IRQCHIP: u32 = 0; pub const KVM_CAP_HLT: u32 = 1; pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; pub const KVM_CAP_USER_MEMORY: u32 = 3; pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; pub const KVM_CAP_VAPIC: u32 = 6; pub const KVM_CAP_EXT_CPUID: u32 = 7; pub const KVM_CAP_CLOCKSOURCE: u32 = 8; pub const KVM_CAP_NR_VCPUS: u32 = 9; pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; pub const KVM_CAP_PIT: u32 = 11; pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; pub const KVM_CAP_PV_MMU: u32 = 13; pub const KVM_CAP_MP_STATE: u32 = 14; pub const KVM_CAP_COALESCED_MMIO: u32 = 15; pub const KVM_CAP_SYNC_MMU: u32 = 16; pub const KVM_CAP_IOMMU: u32 = 18; pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; pub const KVM_CAP_USER_NMI: u32 = 22; pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; pub const KVM_CAP_IRQ_ROUTING: u32 = 25; pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; pub const KVM_CAP_IRQFD: u32 = 32; pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; pub const KVM_CAP_IOEVENTFD: u32 = 36; pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; pub const KVM_CAP_S390_PSW: u32 = 42; pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; pub const KVM_CAP_HYPERV: u32 = 44; pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; pub const KVM_CAP_HYPERV_SPIN: u32 = 46; pub const KVM_CAP_PCI_SEGMENT: u32 = 47; pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; pub const KVM_CAP_INTR_SHADOW: u32 = 49; pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; pub const KVM_CAP_PPC_OSI: u32 = 52; pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; pub const KVM_CAP_ENABLE_CAP: u32 = 54; pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; pub const KVM_CAP_ASYNC_PF: u32 = 59; pub const KVM_CAP_TSC_CONTROL: u32 = 60; pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; pub const KVM_CAP_SPAPR_TCE: u32 = 63; pub const KVM_CAP_PPC_SMT: u32 = 64; pub const KVM_CAP_PPC_RMA: u32 = 65; pub const KVM_CAP_MAX_VCPUS: u32 = 66; pub const KVM_CAP_PPC_HIOR: u32 = 67; pub const KVM_CAP_PPC_PAPR: u32 = 68; pub const KVM_CAP_SW_TLB: u32 = 69; pub const KVM_CAP_ONE_REG: u32 = 70; pub const KVM_CAP_S390_GMAP: u32 = 71; pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; pub const KVM_CAP_S390_UCONTROL: u32 = 73; pub const KVM_CAP_SYNC_REGS: u32 = 74; pub const KVM_CAP_PCI_2_3: u32 = 75; pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; pub const KVM_CAP_SIGNAL_MSI: u32 = 77; pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; pub const KVM_CAP_S390_COW: u32 = 79; pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; pub const KVM_CAP_READONLY_MEM: u32 = 81; pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; pub const KVM_CAP_PPC_EPR: u32 = 86; pub const KVM_CAP_ARM_PSCI: u32 = 87; pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; pub const KVM_CAP_DEVICE_CTRL: u32 = 89; pub const KVM_CAP_IRQ_MPIC: u32 = 90; pub const KVM_CAP_PPC_RTAS: u32 = 91; pub const KVM_CAP_IRQ_XICS: u32 = 92; pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; pub const KVM_CAP_HYPERV_TIME: u32 = 96; pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; pub const KVM_CAP_S390_IRQCHIP: u32 = 99; pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; pub const KVM_CAP_S390_USER_SIGP: u32 = 106; pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; pub const KVM_CAP_S390_MEM_OP: u32 = 108; pub const KVM_CAP_S390_USER_STSI: u32 = 109; pub const KVM_CAP_S390_SKEYS: u32 = 110; pub const KVM_CAP_MIPS_FPU: u32 = 111; pub const KVM_CAP_MIPS_MSA: u32 = 112; pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; pub const KVM_CAP_PPC_HWRNG: u32 = 115; pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; pub const KVM_CAP_X86_SMM: u32 = 117; pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; pub const KVM_CAP_S390_RI: u32 = 124; pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; pub const KVM_CAP_ARM_PMU_V3: u32 = 126; pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; pub const KVM_CAP_X2APIC_API: u32 = 129; pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; pub const KVM_CAP_MSI_DEVID: u32 = 131; pub const KVM_CAP_PPC_HTM: u32 = 132; pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; pub const KVM_CAP_MIPS_VZ: u32 = 137; pub const KVM_CAP_MIPS_TE: u32 = 138; pub const KVM_CAP_MIPS_64BIT: u32 = 139; pub const KVM_CAP_S390_GS: u32 = 140; pub const KVM_CAP_S390_AIS: u32 = 141; pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; pub const KVM_CAP_X86_GUEST_MWAIT: u32 = 143; pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; pub const KVM_CAP_PPC_FWNMI: u32 = 146; pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; pub const KVM_IRQ_ROUTING_MSI: u32 = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; pub const KVM_CLOCK_TSC_STABLE: u32 = 2; pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; pub const KVM_REG_GENERIC: u32 = 0; pub const KVM_REG_PPC: u64 = 1152921504606846976; pub const KVM_REG_X86: u64 = 2305843009213693952; pub const KVM_REG_IA64: u64 = 3458764513820540928; pub const KVM_REG_ARM: u64 = 4611686018427387904; pub const KVM_REG_S390: u64 = 5764607523034234880; pub const KVM_REG_ARM64: u64 = 6917529027641081856; pub const KVM_REG_MIPS: u64 = 8070450532247928832; pub const KVM_REG_SIZE_SHIFT: u32 = 52; pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; pub const KVM_REG_SIZE_U8: u32 = 0; pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; pub const KVM_MSI_VALID_DEVID: u32 = 1; pub const KVM_CREATE_DEVICE_TEST: u32 = 1; pub const KVM_DEV_VFIO_GROUP: u32 = 1; pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; pub const KVM_ARM_DEV_PMU: u32 = 4; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_mode_t = ::std::os::raw::c_ushort; pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort; pub type __kernel_uid_t = ::std::os::raw::c_ushort; pub type __kernel_gid_t = ::std::os::raw::c_ushort; pub type __kernel_old_dev_t = ::std::os::raw::c_ushort; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::c_uint; pub type __kernel_old_uid_t = __kernel_uid_t; pub type __kernel_old_gid_t = __kernel_gid_t; pub type __kernel_size_t = ::std::os::raw::c_uint; pub type __kernel_ssize_t = ::std::os::raw::c_int; pub type __kernel_ptrdiff_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::c_ushort; pub type __le16 = __u16; pub type __be16 = __u16; pub type __le32 = __u32; pub type __be32 = __u32; pub type __le64 = __u64; pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct pt_regs { pub uregs: [::std::os::raw::c_long; 18usize], } #[test] fn bindgen_test_layout_pt_regs() { assert_eq!( ::std::mem::size_of::(), 144usize, concat!("Size of: ", stringify!(pt_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(pt_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uregs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(pt_regs), "::", stringify!(uregs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_regs { pub usr_regs: pt_regs, pub svc_regs: [::std::os::raw::c_ulong; 3usize], pub abt_regs: [::std::os::raw::c_ulong; 3usize], pub und_regs: [::std::os::raw::c_ulong; 3usize], pub irq_regs: [::std::os::raw::c_ulong; 3usize], pub fiq_regs: [::std::os::raw::c_ulong; 8usize], } #[test] fn bindgen_test_layout_kvm_regs() { assert_eq!( ::std::mem::size_of::(), 304usize, concat!("Size of: ", stringify!(kvm_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usr_regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(usr_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).svc_regs as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(svc_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).abt_regs as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(abt_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).und_regs as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(und_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq_regs as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(irq_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fiq_regs as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(fiq_regs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_init { pub target: __u32, pub features: [__u32; 7usize], } #[test] fn bindgen_test_layout_kvm_vcpu_init() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_vcpu_init)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_init)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).target as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(target) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).features as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(features) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sregs {} #[test] fn bindgen_test_layout_kvm_sregs() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_sregs)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_sregs)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_fpu {} #[test] fn bindgen_test_layout_kvm_fpu() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_fpu)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_fpu)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug_arch {} #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_exit_arch {} #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sync_regs { pub device_irq_level: __u64, } #[test] fn bindgen_test_layout_kvm_sync_regs() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_sync_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sync_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).device_irq_level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(device_irq_level) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arch_memory_slot {} #[test] fn bindgen_test_layout_kvm_arch_memory_slot() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_arch_memory_slot)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_arch_memory_slot)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_user_trace_setup)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_user_trace_setup)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_nr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, pub address: __u64, } #[test] fn bindgen_test_layout_kvm_breakpoint() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_breakpoint)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_breakpoint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, pub breakpoints: [kvm_breakpoint; 4usize], pub singlestep: __u32, } #[test] fn bindgen_test_layout_kvm_debug_guest() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(kvm_debug_guest)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_guest)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).breakpoints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(breakpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).singlestep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(singlestep) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, } #[test] fn bindgen_test_layout_kvm_memory_region() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(memory_size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub userspace_addr: __u64, } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userspace_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(userspace_addr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_level__bindgen_ty_1 { pub irq: __u32, pub status: __s32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(status) ) ); } impl Default for kvm_irq_level__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_level() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_level)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_level), "::", stringify!(level) ) ); } impl Default for kvm_irq_level { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irqchip__bindgen_ty_1 { pub dummy: [::std::os::raw::c_char; 512usize], _bindgen_union_align: [u8; 512usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(dummy) ) ); } impl Default for kvm_irqchip__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irqchip() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip) ) ); } impl Default for kvm_irqchip { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_pit_config)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_pit_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_skeys { pub start_gfn: __u64, pub count: __u64, pub skeydata_addr: __u64, pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_s390_skeys() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_skeys)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_skeys)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).skeydata_addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(skeydata_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(reserved) ) ); } #[doc = " kvm_s390_cmma_log - Used for CMMA migration."] #[doc = ""] #[doc = " Used both for input and output."] #[doc = ""] #[doc = " @start_gfn: Guest page number to start from."] #[doc = " @count: Size of the result buffer."] #[doc = " @flags: Control operation mode via KVM_S390_CMMA_* flags"] #[doc = " @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty"] #[doc = " pages are still remaining."] #[doc = " @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set"] #[doc = " in the PGSTE."] #[doc = " @values: Pointer to the values buffer."] #[doc = ""] #[doc = " Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls."] #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_cmma_log { pub start_gfn: __u64, pub count: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, pub values: __u64, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_cmma_log__bindgen_ty_1 { pub remaining: __u64, pub mask: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_s390_cmma_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remaining as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(mask) ) ); } impl Default for kvm_s390_cmma_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_cmma_log() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).values as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(values) ) ); } impl Default for kvm_s390_cmma_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_hyperv_exit { pub type_: __u32, pub u: kvm_hyperv_exit__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_hyperv_exit__bindgen_ty_1 { pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, _bindgen_union_align: [u64; 4usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { pub msr: __u32, pub control: __u64, pub evt_page: __u64, pub msg_page: __u64, } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).evt_page as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(evt_page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_page as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msg_page) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { pub input: __u64, pub result: __u64, pub params: [__u64; 2usize], } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(input) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).result as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(result) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(params) ) ); } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).synic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(synic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(hcall) ) ); } impl Default for kvm_hyperv_exit__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_hyperv_exit() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_hyperv_exit)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(u) ) ); } impl Default for kvm_hyperv_exit { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub immediate_exit: __u8, pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, pub kvm_valid_regs: __u64, pub kvm_dirty_regs: __u64, pub s: kvm_run__bindgen_ty_2, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_1 { pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, pub s390_reset_flags: __u64, pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, pub hyperv: kvm_hyperv_exit, pub padding: [::std::os::raw::c_char; 256usize], _bindgen_union_align: [u64; 32usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hardware_exit_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hardware_exit_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hardware_entry_failure_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hardware_entry_failure_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, pub port: __u16, pub count: __u32, pub data_offset: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).direction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(direction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(data_offset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), "::", stringify!(arch) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], pub len: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], pub ret: __u64, pub longmode: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).longmode as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(longmode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(is_write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, pub ipb: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).icptcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(icptcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipa as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipb) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(pgm_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcrn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(dcrn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, pub data: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).suberror as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(suberror) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ndata as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(ndata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gprs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), "::", stringify!(gprs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, pub args: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { assert_eq!( ::std::mem::size_of::(), 88usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(args) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, pub ipb: __u32, pub dequeued: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_word) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(ipb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dequeued as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(dequeued) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), "::", stringify!(epr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { pub addr: __u64, pub ar: __u8, pub reserved: __u8, pub fc: __u8, pub sel1: __u8, pub sel2: __u16, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(fc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel1 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { pub vector: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), "::", stringify!(vector) ) ); } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hw as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fail_entry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(fail_entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(ex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(debug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(mmio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hypercall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hypercall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tpr_access as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(tpr_access) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_sieic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_sieic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_reset_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_reset_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_ucontrol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_ucontrol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(dcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).osi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(osi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).papr_hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(papr_hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_tsch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_tsch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(epr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).system_event as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(system_event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_stsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_stsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eoi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hyperv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hyperv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_2 { pub regs: kvm_sync_regs, pub padding: [::std::os::raw::c_char; 2048usize], _bindgen_union_align: [u64; 256usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_run() { assert_eq!( ::std::mem::size_of::(), 2352usize, concat!("Size of: ", stringify!(kvm_run)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).request_interrupt_window as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(request_interrupt_window) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(immediate_exit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(padding1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exit_reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(exit_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ready_for_interrupt_injection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(ready_for_interrupt_injection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).if_flag as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(if_flag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_valid_regs as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_valid_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_dirty_regs as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_dirty_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(s) ) ); } impl Default for kvm_run { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, pub pad: __u32, pub data: [__u8; 8usize], } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).first as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(first) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(last) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).coalesced_mmio as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(coalesced_mmio) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, pub valid: __u8, pub writeable: __u8, pub usermode: __u8, pub pad: [__u8; 5usize], } #[test] fn bindgen_test_layout_kvm_translation() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_translation)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_translation)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).linear_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(linear_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physical_address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(physical_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(valid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).writeable as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(writeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usermode as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(usermode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mem_op { pub gaddr: __u64, pub flags: __u64, pub size: __u32, pub op: __u32, pub buf: __u64, pub ar: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_s390_mem_op() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_mem_op)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mem_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(gaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_interrupt), "::", stringify!(irq) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_dirty_log__bindgen_ty_1 { pub dirty_bitmap: *mut ::std::os::raw::c_void, pub padding2: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dirty_bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(dirty_bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(padding2) ) ); } impl Default for kvm_dirty_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_dirty_log() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(padding1) ) ); } impl Default for kvm_dirty_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_signal_mask)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_signal_mask)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(sigset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, pub reserved: [__u32; 8usize], } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vapic_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vapic_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vapic_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vapic_addr), "::", stringify!(vapic_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_mp_state)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_mp_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mp_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_mp_state), "::", stringify!(mp_state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_psw)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_psw)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, pub parm64: __u64, } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm64 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm64) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, } #[test] fn bindgen_test_layout_kvm_s390_io_info() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_s390_io_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_io_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_word) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, pub ext_params2: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_ext_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ext_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, pub per_address: __u64, pub data_exc_code: __u32, pub code: __u16, pub mon_class_nr: __u16, pub per_code: __u8, pub per_atmid: __u8, pub exc_access_id: __u8, pub per_access_id: __u8, pub op_access_id: __u8, pub flags: __u8, pub pad: [__u8; 2usize], } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_exc_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(data_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_class_nr as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_class_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_code as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_atmid as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_atmid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exc_access_id as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(exc_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_access_id as *const _ as usize }, 35usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op_access_id as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(op_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 37usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_prefix_info), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_extcall_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_emerg_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_stop_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_stop_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_stop_info), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, pub failing_storage_address: __u64, pub ext_damage_code: __u32, pub pad: __u32, pub fixed_logout: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr14 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(cr14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(mcic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).failing_storage_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(failing_storage_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_damage_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(ext_damage_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fixed_logout as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(fixed_logout) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_irq__bindgen_ty_1 { pub io: kvm_s390_io_info, pub ext: kvm_s390_ext_info, pub pgm: kvm_s390_pgm_info, pub emerg: kvm_s390_emerg_info, pub extcall: kvm_s390_extcall_info, pub prefix: kvm_s390_prefix_info, pub stop: kvm_s390_stop_info, pub mchk: kvm_s390_mchk_info, pub reserved: [::std::os::raw::c_char; 64usize], _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(ext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(pgm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emerg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(emerg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(extcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mchk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(mchk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_s390_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_irq() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_s390_irq)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(u) ) ); } impl Default for kvm_s390_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_irq_state { pub buf: __u64, pub flags: __u32, pub len: __u32, pub reserved: [__u32; 4usize], } #[test] fn bindgen_test_layout_kvm_s390_irq_state() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_irq_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, pub arch: kvm_guest_debug_arch, } #[test] fn bindgen_test_layout_kvm_guest_debug() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_guest_debug)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_guest_debug)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(arch) ) ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2; pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3; pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = u32; #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, pub len: __u32, pub fd: __s32, pub flags: __u32, pub pad: [__u8; 36usize], } #[test] fn bindgen_test_layout_kvm_ioeventfd() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_ioeventfd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioeventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datamatch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(datamatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(pad) ) ); } impl Default for kvm_ioeventfd { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, pub args: [__u64; 4usize], pub pad: [__u8; 64usize], } #[test] fn bindgen_test_layout_kvm_enable_cap() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(kvm_enable_cap)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enable_cap)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(cap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(pad) ) ); } impl Default for kvm_enable_cap { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], pub pad: [__u8; 108usize], } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(pad) ) ); } impl Default for kvm_ppc_pvinfo { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pte_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(pte_enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, pub enc: [kvm_ppc_one_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(slb_enc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, pub data_keys: __u16, pub instr_keys: __u16, pub sps: [kvm_ppc_one_seg_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { assert_eq!( ::std::mem::size_of::(), 592usize, concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(slb_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_keys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(data_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).instr_keys as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(instr_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(sps) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_resize_hpt { pub flags: __u64, pub shift: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_resize_hpt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shift as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(pin) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_msi__bindgen_ty_1 { pub pad: __u32, pub devid: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_msi__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_msi__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(devid) ) ); } impl Default for kvm_irq_routing_msi__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(data) ) ); } impl Default for kvm_irq_routing_msi { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, pub ind_offset: __u64, pub summary_offset: __u32, pub adapter_id: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter_id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(adapter_id) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_hv_sint { pub vcpu: __u32, pub sint: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_hv_sint() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(vcpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(sint) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, pub flags: __u32, pub pad: __u32, pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_entry__bindgen_ty_1 { pub irqchip: kvm_irq_routing_irqchip, pub msi: kvm_irq_routing_msi, pub adapter: kvm_irq_routing_s390_adapter, pub hv_sint: kvm_irq_routing_hv_sint, pub pad: [__u32; 8usize], _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_entry__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(msi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hv_sint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(hv_sint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_irq_routing_entry__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(u) ) ); } impl Default for kvm_irq_routing_entry { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_irq_routing() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(entries) ) ); } impl Default for kvm_irq_routing { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, pub flags: __u32, pub resamplefd: __u32, pub pad: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_irqfd() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irqfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resamplefd as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(resamplefd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, pub pad: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_clock_data() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_clock_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_clock_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(clock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, pub mmu_type: __u32, pub array_len: __u32, } #[test] fn bindgen_test_layout_kvm_config_tlb() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_config_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_config_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmu_type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(mmu_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array_len as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_dirty as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(num_dirty) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_reg_list)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_reg_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(reg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_one_reg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_one_reg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub flags: __u32, pub devid: __u32, pub pad: [__u8; 12usize], } #[test] fn bindgen_test_layout_kvm_msi() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_arm_device_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_arm_device_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_create_device() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_create_device)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_create_device)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, pub attr: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_device_attr() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_device_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_device_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).group as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(attr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(addr) ) ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 9; pub type kvm_device_type = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vfio_spapr_tce { pub groupfd: __s32, pub tablefd: __s32, } #[test] fn bindgen_test_layout_kvm_vfio_spapr_tce() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).groupfd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(groupfd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tablefd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(tablefd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, pub length: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(user_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(vcpu_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(length) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, pub devfn: __u32, pub flags: __u32, pub segnr: __u32, pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_pci_dev__bindgen_ty_1 { pub reserved: [__u32; 11usize], _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).busnr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(busnr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devfn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(devfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).segnr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(segnr) ) ); } impl Default for kvm_assigned_pci_dev { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, pub guest_irq: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_irq__bindgen_ty_1 { pub reserved: [__u32; 12usize], _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_irq)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).host_irq as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(host_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_irq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(guest_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(flags) ) ); } impl Default for kvm_assigned_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, pub padding: __u16, } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(entry_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, pub entry: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(padding) ) ); } kvm-bindings-0.1.1/src/arm/bindings_v4_20_0.rs010064403073240001001000006655651342005265000172030ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* automatically generated by rust-bindgen */ #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub const __BITS_PER_LONG: u32 = 32; pub const __FD_SETSIZE: u32 = 1024; pub const _IOC_NRBITS: u32 = 8; pub const _IOC_TYPEBITS: u32 = 8; pub const _IOC_SIZEBITS: u32 = 14; pub const _IOC_DIRBITS: u32 = 2; pub const _IOC_NRMASK: u32 = 255; pub const _IOC_TYPEMASK: u32 = 255; pub const _IOC_SIZEMASK: u32 = 16383; pub const _IOC_DIRMASK: u32 = 3; pub const _IOC_NRSHIFT: u32 = 0; pub const _IOC_TYPESHIFT: u32 = 8; pub const _IOC_SIZESHIFT: u32 = 16; pub const _IOC_DIRSHIFT: u32 = 30; pub const _IOC_NONE: u32 = 0; pub const _IOC_WRITE: u32 = 1; pub const _IOC_READ: u32 = 2; pub const IOC_IN: u32 = 1073741824; pub const IOC_OUT: u32 = 2147483648; pub const IOC_INOUT: u32 = 3221225472; pub const IOCSIZE_MASK: u32 = 1073676288; pub const IOCSIZE_SHIFT: u32 = 16; pub const PSCI_0_2_FN_BASE: u32 = 2214592512; pub const PSCI_0_2_64BIT: u32 = 1073741824; pub const PSCI_0_2_FN64_BASE: u32 = 3288334336; pub const PSCI_0_2_POWER_STATE_ID_MASK: u32 = 65535; pub const PSCI_0_2_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_0_2_POWER_STATE_TYPE_SHIFT: u32 = 16; pub const PSCI_0_2_POWER_STATE_TYPE_MASK: u32 = 65536; pub const PSCI_0_2_POWER_STATE_AFFL_SHIFT: u32 = 24; pub const PSCI_0_2_POWER_STATE_AFFL_MASK: u32 = 50331648; pub const PSCI_1_0_EXT_POWER_STATE_ID_MASK: u32 = 268435455; pub const PSCI_1_0_EXT_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT: u32 = 30; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_MASK: u32 = 1073741824; pub const PSCI_0_2_AFFINITY_LEVEL_ON: u32 = 0; pub const PSCI_0_2_AFFINITY_LEVEL_OFF: u32 = 1; pub const PSCI_0_2_AFFINITY_LEVEL_ON_PENDING: u32 = 2; pub const PSCI_0_2_TOS_UP_MIGRATE: u32 = 0; pub const PSCI_0_2_TOS_UP_NO_MIGRATE: u32 = 1; pub const PSCI_0_2_TOS_MP: u32 = 2; pub const PSCI_VERSION_MAJOR_SHIFT: u32 = 16; pub const PSCI_VERSION_MINOR_MASK: u32 = 65535; pub const PSCI_VERSION_MAJOR_MASK: i32 = -65536; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT: u32 = 1; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK: u32 = 2; pub const PSCI_RET_SUCCESS: u32 = 0; pub const PSCI_RET_NOT_SUPPORTED: i32 = -1; pub const PSCI_RET_INVALID_PARAMS: i32 = -2; pub const PSCI_RET_DENIED: i32 = -3; pub const PSCI_RET_ALREADY_ON: i32 = -4; pub const PSCI_RET_ON_PENDING: i32 = -5; pub const PSCI_RET_INTERNAL_FAILURE: i32 = -6; pub const PSCI_RET_NOT_PRESENT: i32 = -7; pub const PSCI_RET_DISABLED: i32 = -8; pub const PSCI_RET_INVALID_ADDRESS: i32 = -9; pub const HWCAP_SWP: u32 = 1; pub const HWCAP_HALF: u32 = 2; pub const HWCAP_THUMB: u32 = 4; pub const HWCAP_26BIT: u32 = 8; pub const HWCAP_FAST_MULT: u32 = 16; pub const HWCAP_FPA: u32 = 32; pub const HWCAP_VFP: u32 = 64; pub const HWCAP_EDSP: u32 = 128; pub const HWCAP_JAVA: u32 = 256; pub const HWCAP_IWMMXT: u32 = 512; pub const HWCAP_CRUNCH: u32 = 1024; pub const HWCAP_THUMBEE: u32 = 2048; pub const HWCAP_NEON: u32 = 4096; pub const HWCAP_VFPv3: u32 = 8192; pub const HWCAP_VFPv3D16: u32 = 16384; pub const HWCAP_TLS: u32 = 32768; pub const HWCAP_VFPv4: u32 = 65536; pub const HWCAP_IDIVA: u32 = 131072; pub const HWCAP_IDIVT: u32 = 262144; pub const HWCAP_VFPD32: u32 = 524288; pub const HWCAP_IDIV: u32 = 393216; pub const HWCAP_LPAE: u32 = 1048576; pub const HWCAP_EVTSTRM: u32 = 2097152; pub const HWCAP2_AES: u32 = 1; pub const HWCAP2_PMULL: u32 = 2; pub const HWCAP2_SHA1: u32 = 4; pub const HWCAP2_SHA2: u32 = 8; pub const HWCAP2_CRC32: u32 = 16; pub const PTRACE_GETREGS: u32 = 12; pub const PTRACE_SETREGS: u32 = 13; pub const PTRACE_GETFPREGS: u32 = 14; pub const PTRACE_SETFPREGS: u32 = 15; pub const PTRACE_GETWMMXREGS: u32 = 18; pub const PTRACE_SETWMMXREGS: u32 = 19; pub const PTRACE_OLDSETOPTIONS: u32 = 21; pub const PTRACE_GET_THREAD_AREA: u32 = 22; pub const PTRACE_SET_SYSCALL: u32 = 23; pub const PTRACE_GETCRUNCHREGS: u32 = 25; pub const PTRACE_SETCRUNCHREGS: u32 = 26; pub const PTRACE_GETVFPREGS: u32 = 27; pub const PTRACE_SETVFPREGS: u32 = 28; pub const PTRACE_GETHBPREGS: u32 = 29; pub const PTRACE_SETHBPREGS: u32 = 30; pub const PTRACE_GETFDPIC: u32 = 31; pub const PTRACE_GETFDPIC_EXEC: u32 = 0; pub const PTRACE_GETFDPIC_INTERP: u32 = 1; pub const USR26_MODE: u32 = 0; pub const FIQ26_MODE: u32 = 1; pub const IRQ26_MODE: u32 = 2; pub const SVC26_MODE: u32 = 3; pub const USR_MODE: u32 = 16; pub const SVC_MODE: u32 = 19; pub const FIQ_MODE: u32 = 17; pub const IRQ_MODE: u32 = 18; pub const MON_MODE: u32 = 22; pub const ABT_MODE: u32 = 23; pub const HYP_MODE: u32 = 26; pub const UND_MODE: u32 = 27; pub const SYSTEM_MODE: u32 = 31; pub const MODE32_BIT: u32 = 16; pub const MODE_MASK: u32 = 31; pub const V4_PSR_T_BIT: u32 = 32; pub const V7M_PSR_T_BIT: u32 = 16777216; pub const PSR_T_BIT: u32 = 32; pub const PSR_F_BIT: u32 = 64; pub const PSR_I_BIT: u32 = 128; pub const PSR_A_BIT: u32 = 256; pub const PSR_E_BIT: u32 = 512; pub const PSR_J_BIT: u32 = 16777216; pub const PSR_Q_BIT: u32 = 134217728; pub const PSR_V_BIT: u32 = 268435456; pub const PSR_C_BIT: u32 = 536870912; pub const PSR_Z_BIT: u32 = 1073741824; pub const PSR_N_BIT: u32 = 2147483648; pub const PSR_f: u32 = 4278190080; pub const PSR_s: u32 = 16711680; pub const PSR_x: u32 = 65280; pub const PSR_c: u32 = 255; pub const APSR_MASK: u32 = 4161732608; pub const PSR_ISET_MASK: u32 = 16777232; pub const PSR_IT_MASK: u32 = 100727808; pub const PSR_ENDIAN_MASK: u32 = 512; pub const PSR_ENDSTATE: u32 = 0; pub const PT_TEXT_ADDR: u32 = 65536; pub const PT_DATA_ADDR: u32 = 65540; pub const PT_TEXT_END_ADDR: u32 = 65544; pub const ARM_VFPREGS_SIZE: u32 = 260; pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 1; pub const KVM_ARM_TARGET_CORTEX_A15: u32 = 0; pub const KVM_ARM_TARGET_CORTEX_A7: u32 = 1; pub const KVM_ARM_NUM_TARGETS: u32 = 2; pub const KVM_ARM_DEVICE_TYPE_SHIFT: u32 = 0; pub const KVM_ARM_DEVICE_TYPE_MASK: u32 = 65535; pub const KVM_ARM_DEVICE_ID_SHIFT: u32 = 16; pub const KVM_ARM_DEVICE_ID_MASK: u32 = 4294901760; pub const KVM_ARM_DEVICE_VGIC_V2: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_DIST: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_CPU: u32 = 1; pub const KVM_VGIC_V2_DIST_SIZE: u32 = 4096; pub const KVM_VGIC_V2_CPU_SIZE: u32 = 8192; pub const KVM_VGIC_V3_ADDR_TYPE_DIST: u32 = 2; pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: u32 = 3; pub const KVM_VGIC_ITS_ADDR_TYPE: u32 = 4; pub const KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION: u32 = 5; pub const KVM_ARM_VCPU_POWER_OFF: u32 = 0; pub const KVM_ARM_VCPU_PSCI_0_2: u32 = 1; pub const KVM_REG_ARM_COPROC_MASK: u32 = 268369920; pub const KVM_REG_ARM_COPROC_SHIFT: u32 = 16; pub const KVM_REG_ARM_32_OPC2_MASK: u32 = 7; pub const KVM_REG_ARM_32_OPC2_SHIFT: u32 = 0; pub const KVM_REG_ARM_OPC1_MASK: u32 = 120; pub const KVM_REG_ARM_OPC1_SHIFT: u32 = 3; pub const KVM_REG_ARM_CRM_MASK: u32 = 1920; pub const KVM_REG_ARM_CRM_SHIFT: u32 = 7; pub const KVM_REG_ARM_32_CRN_MASK: u32 = 30720; pub const KVM_REG_ARM_32_CRN_SHIFT: u32 = 11; pub const KVM_REG_ARM_SECURE_MASK: u32 = 268435456; pub const KVM_REG_ARM_SECURE_SHIFT: u32 = 28; pub const KVM_REG_ARM_CORE: u32 = 1048576; pub const KVM_REG_ARM_DEMUX: u32 = 1114112; pub const KVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280; pub const KVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8; pub const KVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0; pub const KVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255; pub const KVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0; pub const KVM_REG_ARM_VFP: u32 = 1179648; pub const KVM_REG_ARM_VFP_MASK: u32 = 65535; pub const KVM_REG_ARM_VFP_BASE_REG: u32 = 0; pub const KVM_REG_ARM_VFP_FPSID: u32 = 4096; pub const KVM_REG_ARM_VFP_FPSCR: u32 = 4097; pub const KVM_REG_ARM_VFP_MVFR1: u32 = 4102; pub const KVM_REG_ARM_VFP_MVFR0: u32 = 4103; pub const KVM_REG_ARM_VFP_FPEXC: u32 = 4104; pub const KVM_REG_ARM_VFP_FPINST: u32 = 4105; pub const KVM_REG_ARM_VFP_FPINST2: u32 = 4106; pub const KVM_REG_ARM_FW: u32 = 1310720; pub const KVM_DEV_ARM_VGIC_GRP_ADDR: u32 = 0; pub const KVM_DEV_ARM_VGIC_GRP_DIST_REGS: u32 = 1; pub const KVM_DEV_ARM_VGIC_GRP_CPU_REGS: u32 = 2; pub const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_CPUID_MASK: u64 = 1095216660480; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_MASK: i64 = -4294967296; pub const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; pub const KVM_DEV_ARM_VGIC_OFFSET_MASK: u32 = 4294967295; pub const KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK: u32 = 65535; pub const KVM_DEV_ARM_VGIC_GRP_NR_IRQS: u32 = 3; pub const KVM_DEV_ARM_VGIC_GRP_CTRL: u32 = 4; pub const KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: u32 = 5; pub const KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: u32 = 6; pub const KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: u32 = 7; pub const KVM_DEV_ARM_VGIC_GRP_ITS_REGS: u32 = 8; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT: u32 = 10; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK: u32 = 4294966272; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK: u32 = 1023; pub const VGIC_LEVEL_INFO_LINE_LEVEL: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_CTRL: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_IRQ: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_INIT: u32 = 1; pub const KVM_ARM_VCPU_TIMER_CTRL: u32 = 1; pub const KVM_ARM_VCPU_TIMER_IRQ_VTIMER: u32 = 0; pub const KVM_ARM_VCPU_TIMER_IRQ_PTIMER: u32 = 1; pub const KVM_DEV_ARM_VGIC_CTRL_INIT: u32 = 0; pub const KVM_DEV_ARM_ITS_SAVE_TABLES: u32 = 1; pub const KVM_DEV_ARM_ITS_RESTORE_TABLES: u32 = 2; pub const KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES: u32 = 3; pub const KVM_DEV_ARM_ITS_CTRL_RESET: u32 = 4; pub const KVM_ARM_IRQ_TYPE_SHIFT: u32 = 24; pub const KVM_ARM_IRQ_TYPE_MASK: u32 = 255; pub const KVM_ARM_IRQ_VCPU_SHIFT: u32 = 16; pub const KVM_ARM_IRQ_VCPU_MASK: u32 = 255; pub const KVM_ARM_IRQ_NUM_SHIFT: u32 = 0; pub const KVM_ARM_IRQ_NUM_MASK: u32 = 65535; pub const KVM_ARM_IRQ_TYPE_CPU: u32 = 0; pub const KVM_ARM_IRQ_TYPE_SPI: u32 = 1; pub const KVM_ARM_IRQ_TYPE_PPI: u32 = 2; pub const KVM_ARM_IRQ_CPU_IRQ: u32 = 0; pub const KVM_ARM_IRQ_CPU_FIQ: u32 = 1; pub const KVM_ARM_IRQ_GIC_MAX: u32 = 127; pub const KVM_NR_IRQCHIPS: u32 = 1; pub const KVM_PSCI_FN_BASE: u32 = 2512501342; pub const KVM_PSCI_RET_SUCCESS: u32 = 0; pub const KVM_PSCI_RET_NI: i32 = -1; pub const KVM_PSCI_RET_INVAL: i32 = -2; pub const KVM_PSCI_RET_DENIED: i32 = -3; pub const KVM_API_VERSION: u32 = 12; pub const KVM_TRC_SHIFT: u32 = 16; pub const KVM_TRC_ENTRYEXIT: u32 = 65536; pub const KVM_TRC_HANDLER: u32 = 131072; pub const KVM_TRC_VMENTRY: u32 = 65537; pub const KVM_TRC_VMEXIT: u32 = 65538; pub const KVM_TRC_PAGE_FAULT: u32 = 131073; pub const KVM_TRC_HEAD_SIZE: u32 = 12; pub const KVM_TRC_CYCLE_SIZE: u32 = 8; pub const KVM_TRC_EXTRA_MAX: u32 = 7; pub const KVM_TRC_INJ_VIRQ: u32 = 131074; pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; pub const KVM_TRC_PEND_INTR: u32 = 131076; pub const KVM_TRC_IO_READ: u32 = 131077; pub const KVM_TRC_IO_WRITE: u32 = 131078; pub const KVM_TRC_CR_READ: u32 = 131079; pub const KVM_TRC_CR_WRITE: u32 = 131080; pub const KVM_TRC_DR_READ: u32 = 131081; pub const KVM_TRC_DR_WRITE: u32 = 131082; pub const KVM_TRC_MSR_READ: u32 = 131083; pub const KVM_TRC_MSR_WRITE: u32 = 131084; pub const KVM_TRC_CPUID: u32 = 131085; pub const KVM_TRC_INTR: u32 = 131086; pub const KVM_TRC_NMI: u32 = 131087; pub const KVM_TRC_VMMCALL: u32 = 131088; pub const KVM_TRC_HLT: u32 = 131089; pub const KVM_TRC_CLTS: u32 = 131090; pub const KVM_TRC_LMSW: u32 = 131091; pub const KVM_TRC_APIC_ACCESS: u32 = 131092; pub const KVM_TRC_TDP_FAULT: u32 = 131093; pub const KVM_TRC_GTLB_WRITE: u32 = 131094; pub const KVM_TRC_STLB_WRITE: u32 = 131095; pub const KVM_TRC_STLB_INVAL: u32 = 131096; pub const KVM_TRC_PPC_INSTR: u32 = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; pub const KVM_MEM_READONLY: u32 = 2; pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; pub const KVM_S390_CMMA_PEEK: u32 = 1; pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; pub const KVM_S390_SKEYS_MAX: u32 = 1048576; pub const KVM_EXIT_UNKNOWN: u32 = 0; pub const KVM_EXIT_EXCEPTION: u32 = 1; pub const KVM_EXIT_IO: u32 = 2; pub const KVM_EXIT_HYPERCALL: u32 = 3; pub const KVM_EXIT_DEBUG: u32 = 4; pub const KVM_EXIT_HLT: u32 = 5; pub const KVM_EXIT_MMIO: u32 = 6; pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; pub const KVM_EXIT_SHUTDOWN: u32 = 8; pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; pub const KVM_EXIT_INTR: u32 = 10; pub const KVM_EXIT_SET_TPR: u32 = 11; pub const KVM_EXIT_TPR_ACCESS: u32 = 12; pub const KVM_EXIT_S390_SIEIC: u32 = 13; pub const KVM_EXIT_S390_RESET: u32 = 14; pub const KVM_EXIT_DCR: u32 = 15; pub const KVM_EXIT_NMI: u32 = 16; pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; pub const KVM_EXIT_OSI: u32 = 18; pub const KVM_EXIT_PAPR_HCALL: u32 = 19; pub const KVM_EXIT_S390_UCONTROL: u32 = 20; pub const KVM_EXIT_WATCHDOG: u32 = 21; pub const KVM_EXIT_S390_TSCH: u32 = 22; pub const KVM_EXIT_EPR: u32 = 23; pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; pub const KVM_EXIT_S390_STSI: u32 = 25; pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; pub const KVM_EXIT_HYPERV: u32 = 27; pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; pub const KVM_EXIT_IO_IN: u32 = 0; pub const KVM_EXIT_IO_OUT: u32 = 1; pub const KVM_S390_RESET_POR: u32 = 1; pub const KVM_S390_RESET_CLEAR: u32 = 2; pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; pub const KVM_S390_RESET_CPU_INIT: u32 = 8; pub const KVM_S390_RESET_IPL: u32 = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; pub const SYNC_REGS_SIZE_BYTES: u32 = 2048; pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; pub const KVM_MP_STATE_RUNNABLE: u32 = 0; pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; pub const KVM_MP_STATE_HALTED: u32 = 3; pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; pub const KVM_MP_STATE_STOPPED: u32 = 5; pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; pub const KVM_MP_STATE_OPERATING: u32 = 7; pub const KVM_MP_STATE_LOAD: u32 = 8; pub const KVM_S390_SIGP_STOP: u32 = 4294836224; pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; pub const KVM_S390_RESTART: u32 = 4294836227; pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; pub const KVM_S390_MCHK: u32 = 4294840320; pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; pub const KVM_S390_INT_SERVICE: u32 = 4294910977; pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; pub const KVM_S390_INT_IO_MIN: u32 = 0; pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; pub const KVM_GUESTDBG_ENABLE: u32 = 1; pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; pub const KVM_X86_DISABLE_EXITS_MWAIT: u32 = 1; pub const KVM_X86_DISABLE_EXITS_HLT: u32 = 2; pub const KVM_X86_DISABLE_EXITS_PAUSE: u32 = 4; pub const KVM_X86_DISABLE_VALID_EXITS: u32 = 7; pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; pub const KVM_PPC_1T_SEGMENTS: u32 = 2; pub const KVM_PPC_NO_HASH: u32 = 4; pub const KVMIO: u32 = 174; pub const KVM_VM_S390_UCONTROL: u32 = 1; pub const KVM_VM_PPC_HV: u32 = 1; pub const KVM_VM_PPC_PR: u32 = 2; pub const KVM_VM_MIPS_TE: u32 = 0; pub const KVM_VM_MIPS_VZ: u32 = 1; pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; pub const KVM_VM_TYPE_ARM_IPA_SIZE_MASK: u32 = 255; pub const KVM_CAP_IRQCHIP: u32 = 0; pub const KVM_CAP_HLT: u32 = 1; pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; pub const KVM_CAP_USER_MEMORY: u32 = 3; pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; pub const KVM_CAP_VAPIC: u32 = 6; pub const KVM_CAP_EXT_CPUID: u32 = 7; pub const KVM_CAP_CLOCKSOURCE: u32 = 8; pub const KVM_CAP_NR_VCPUS: u32 = 9; pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; pub const KVM_CAP_PIT: u32 = 11; pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; pub const KVM_CAP_PV_MMU: u32 = 13; pub const KVM_CAP_MP_STATE: u32 = 14; pub const KVM_CAP_COALESCED_MMIO: u32 = 15; pub const KVM_CAP_SYNC_MMU: u32 = 16; pub const KVM_CAP_IOMMU: u32 = 18; pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; pub const KVM_CAP_USER_NMI: u32 = 22; pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; pub const KVM_CAP_IRQ_ROUTING: u32 = 25; pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; pub const KVM_CAP_IRQFD: u32 = 32; pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; pub const KVM_CAP_IOEVENTFD: u32 = 36; pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; pub const KVM_CAP_VCPU_EVENTS: u32 = 41; pub const KVM_CAP_S390_PSW: u32 = 42; pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; pub const KVM_CAP_HYPERV: u32 = 44; pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; pub const KVM_CAP_HYPERV_SPIN: u32 = 46; pub const KVM_CAP_PCI_SEGMENT: u32 = 47; pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; pub const KVM_CAP_INTR_SHADOW: u32 = 49; pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; pub const KVM_CAP_PPC_OSI: u32 = 52; pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; pub const KVM_CAP_ENABLE_CAP: u32 = 54; pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; pub const KVM_CAP_ASYNC_PF: u32 = 59; pub const KVM_CAP_TSC_CONTROL: u32 = 60; pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; pub const KVM_CAP_SPAPR_TCE: u32 = 63; pub const KVM_CAP_PPC_SMT: u32 = 64; pub const KVM_CAP_PPC_RMA: u32 = 65; pub const KVM_CAP_MAX_VCPUS: u32 = 66; pub const KVM_CAP_PPC_HIOR: u32 = 67; pub const KVM_CAP_PPC_PAPR: u32 = 68; pub const KVM_CAP_SW_TLB: u32 = 69; pub const KVM_CAP_ONE_REG: u32 = 70; pub const KVM_CAP_S390_GMAP: u32 = 71; pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; pub const KVM_CAP_S390_UCONTROL: u32 = 73; pub const KVM_CAP_SYNC_REGS: u32 = 74; pub const KVM_CAP_PCI_2_3: u32 = 75; pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; pub const KVM_CAP_SIGNAL_MSI: u32 = 77; pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; pub const KVM_CAP_S390_COW: u32 = 79; pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; pub const KVM_CAP_READONLY_MEM: u32 = 81; pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; pub const KVM_CAP_PPC_EPR: u32 = 86; pub const KVM_CAP_ARM_PSCI: u32 = 87; pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; pub const KVM_CAP_DEVICE_CTRL: u32 = 89; pub const KVM_CAP_IRQ_MPIC: u32 = 90; pub const KVM_CAP_PPC_RTAS: u32 = 91; pub const KVM_CAP_IRQ_XICS: u32 = 92; pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; pub const KVM_CAP_HYPERV_TIME: u32 = 96; pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; pub const KVM_CAP_S390_IRQCHIP: u32 = 99; pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; pub const KVM_CAP_S390_USER_SIGP: u32 = 106; pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; pub const KVM_CAP_S390_MEM_OP: u32 = 108; pub const KVM_CAP_S390_USER_STSI: u32 = 109; pub const KVM_CAP_S390_SKEYS: u32 = 110; pub const KVM_CAP_MIPS_FPU: u32 = 111; pub const KVM_CAP_MIPS_MSA: u32 = 112; pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; pub const KVM_CAP_PPC_HWRNG: u32 = 115; pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; pub const KVM_CAP_X86_SMM: u32 = 117; pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; pub const KVM_CAP_S390_RI: u32 = 124; pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; pub const KVM_CAP_ARM_PMU_V3: u32 = 126; pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; pub const KVM_CAP_X2APIC_API: u32 = 129; pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; pub const KVM_CAP_MSI_DEVID: u32 = 131; pub const KVM_CAP_PPC_HTM: u32 = 132; pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; pub const KVM_CAP_MIPS_VZ: u32 = 137; pub const KVM_CAP_MIPS_TE: u32 = 138; pub const KVM_CAP_MIPS_64BIT: u32 = 139; pub const KVM_CAP_S390_GS: u32 = 140; pub const KVM_CAP_S390_AIS: u32 = 141; pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; pub const KVM_CAP_X86_DISABLE_EXITS: u32 = 143; pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; pub const KVM_CAP_PPC_FWNMI: u32 = 146; pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; pub const KVM_CAP_S390_AIS_MIGRATION: u32 = 150; pub const KVM_CAP_PPC_GET_CPU_CHAR: u32 = 151; pub const KVM_CAP_S390_BPB: u32 = 152; pub const KVM_CAP_GET_MSR_FEATURES: u32 = 153; pub const KVM_CAP_HYPERV_EVENTFD: u32 = 154; pub const KVM_CAP_HYPERV_TLBFLUSH: u32 = 155; pub const KVM_CAP_S390_HPAGE_1M: u32 = 156; pub const KVM_CAP_NESTED_STATE: u32 = 157; pub const KVM_CAP_ARM_INJECT_SERROR_ESR: u32 = 158; pub const KVM_CAP_MSR_PLATFORM_INFO: u32 = 159; pub const KVM_CAP_PPC_NESTED_HV: u32 = 160; pub const KVM_CAP_HYPERV_SEND_IPI: u32 = 161; pub const KVM_CAP_COALESCED_PIO: u32 = 162; pub const KVM_CAP_HYPERV_ENLIGHTENED_VMCS: u32 = 163; pub const KVM_CAP_EXCEPTION_PAYLOAD: u32 = 164; pub const KVM_CAP_ARM_VM_IPA_SIZE: u32 = 165; pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; pub const KVM_IRQ_ROUTING_MSI: u32 = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; pub const KVM_CLOCK_TSC_STABLE: u32 = 2; pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; pub const KVM_REG_GENERIC: u32 = 0; pub const KVM_REG_PPC: u64 = 1152921504606846976; pub const KVM_REG_X86: u64 = 2305843009213693952; pub const KVM_REG_IA64: u64 = 3458764513820540928; pub const KVM_REG_ARM: u64 = 4611686018427387904; pub const KVM_REG_S390: u64 = 5764607523034234880; pub const KVM_REG_ARM64: u64 = 6917529027641081856; pub const KVM_REG_MIPS: u64 = 8070450532247928832; pub const KVM_REG_SIZE_SHIFT: u32 = 52; pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; pub const KVM_REG_SIZE_U8: u32 = 0; pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; pub const KVM_MSI_VALID_DEVID: u32 = 1; pub const KVM_CREATE_DEVICE_TEST: u32 = 1; pub const KVM_DEV_VFIO_GROUP: u32 = 1; pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; pub const KVM_ARM_DEV_PMU: u32 = 4; pub const KVM_HYPERV_CONN_ID_MASK: u32 = 16777215; pub const KVM_HYPERV_EVENTFD_DEASSIGN: u32 = 1; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_mode_t = ::std::os::raw::c_ushort; pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort; pub type __kernel_uid_t = ::std::os::raw::c_ushort; pub type __kernel_gid_t = ::std::os::raw::c_ushort; pub type __kernel_old_dev_t = ::std::os::raw::c_ushort; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::c_uint; pub type __kernel_old_uid_t = __kernel_uid_t; pub type __kernel_old_gid_t = __kernel_gid_t; pub type __kernel_size_t = ::std::os::raw::c_uint; pub type __kernel_ssize_t = ::std::os::raw::c_int; pub type __kernel_ptrdiff_t = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_time64_t = ::std::os::raw::c_longlong; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::c_ushort; pub type __le16 = __u16; pub type __be16 = __u16; pub type __le32 = __u32; pub type __be32 = __u32; pub type __le64 = __u64; pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; pub type __poll_t = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct pt_regs { pub uregs: [::std::os::raw::c_long; 18usize], } #[test] fn bindgen_test_layout_pt_regs() { assert_eq!( ::std::mem::size_of::(), 144usize, concat!("Size of: ", stringify!(pt_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(pt_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uregs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(pt_regs), "::", stringify!(uregs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_regs { pub usr_regs: pt_regs, pub svc_regs: [::std::os::raw::c_ulong; 3usize], pub abt_regs: [::std::os::raw::c_ulong; 3usize], pub und_regs: [::std::os::raw::c_ulong; 3usize], pub irq_regs: [::std::os::raw::c_ulong; 3usize], pub fiq_regs: [::std::os::raw::c_ulong; 8usize], } #[test] fn bindgen_test_layout_kvm_regs() { assert_eq!( ::std::mem::size_of::(), 304usize, concat!("Size of: ", stringify!(kvm_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usr_regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(usr_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).svc_regs as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(svc_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).abt_regs as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(abt_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).und_regs as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(und_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq_regs as *const _ as usize }, 216usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(irq_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fiq_regs as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(fiq_regs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_init { pub target: __u32, pub features: [__u32; 7usize], } #[test] fn bindgen_test_layout_kvm_vcpu_init() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_vcpu_init)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_init)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).target as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(target) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).features as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(features) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sregs {} #[test] fn bindgen_test_layout_kvm_sregs() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_sregs)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_sregs)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_fpu {} #[test] fn bindgen_test_layout_kvm_fpu() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_fpu)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_fpu)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug_arch {} #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_exit_arch {} #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sync_regs { pub device_irq_level: __u64, } #[test] fn bindgen_test_layout_kvm_sync_regs() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_sync_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sync_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).device_irq_level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(device_irq_level) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arch_memory_slot {} #[test] fn bindgen_test_layout_kvm_arch_memory_slot() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_arch_memory_slot)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_arch_memory_slot)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events { pub exception: kvm_vcpu_events__bindgen_ty_1, pub reserved: [__u32; 12usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_1 { pub serror_pending: __u8, pub serror_has_esr: __u8, pub pad: [__u8; 6usize], pub serror_esr: __u64, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).serror_pending as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(serror_pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).serror_has_esr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(serror_has_esr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).serror_esr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(serror_esr) ) ); } #[test] fn bindgen_test_layout_kvm_vcpu_events() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_vcpu_events)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vcpu_events)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_user_trace_setup)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_user_trace_setup)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_nr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, pub address: __u64, } #[test] fn bindgen_test_layout_kvm_breakpoint() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_breakpoint)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_breakpoint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, pub breakpoints: [kvm_breakpoint; 4usize], pub singlestep: __u32, } #[test] fn bindgen_test_layout_kvm_debug_guest() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(kvm_debug_guest)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_guest)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).breakpoints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(breakpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).singlestep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(singlestep) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, } #[test] fn bindgen_test_layout_kvm_memory_region() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(memory_size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub userspace_addr: __u64, } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userspace_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(userspace_addr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_level__bindgen_ty_1 { pub irq: __u32, pub status: __s32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(status) ) ); } impl Default for kvm_irq_level__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_level() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_level)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_level), "::", stringify!(level) ) ); } impl Default for kvm_irq_level { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irqchip__bindgen_ty_1 { pub dummy: [::std::os::raw::c_char; 512usize], _bindgen_union_align: [u8; 512usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(dummy) ) ); } impl Default for kvm_irqchip__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irqchip() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip) ) ); } impl Default for kvm_irqchip { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_pit_config)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_pit_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_skeys { pub start_gfn: __u64, pub count: __u64, pub skeydata_addr: __u64, pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_s390_skeys() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_skeys)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_skeys)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).skeydata_addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(skeydata_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(reserved) ) ); } #[doc = " kvm_s390_cmma_log - Used for CMMA migration."] #[doc = ""] #[doc = " Used both for input and output."] #[doc = ""] #[doc = " @start_gfn: Guest page number to start from."] #[doc = " @count: Size of the result buffer."] #[doc = " @flags: Control operation mode via KVM_S390_CMMA_* flags"] #[doc = " @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty"] #[doc = " pages are still remaining."] #[doc = " @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set"] #[doc = " in the PGSTE."] #[doc = " @values: Pointer to the values buffer."] #[doc = ""] #[doc = " Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls."] #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_cmma_log { pub start_gfn: __u64, pub count: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, pub values: __u64, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_cmma_log__bindgen_ty_1 { pub remaining: __u64, pub mask: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_s390_cmma_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remaining as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(mask) ) ); } impl Default for kvm_s390_cmma_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_cmma_log() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).values as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(values) ) ); } impl Default for kvm_s390_cmma_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_hyperv_exit { pub type_: __u32, pub u: kvm_hyperv_exit__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_hyperv_exit__bindgen_ty_1 { pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, _bindgen_union_align: [u64; 4usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { pub msr: __u32, pub control: __u64, pub evt_page: __u64, pub msg_page: __u64, } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).evt_page as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(evt_page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_page as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msg_page) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { pub input: __u64, pub result: __u64, pub params: [__u64; 2usize], } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(input) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).result as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(result) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(params) ) ); } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).synic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(synic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(hcall) ) ); } impl Default for kvm_hyperv_exit__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_hyperv_exit() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_hyperv_exit)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(u) ) ); } impl Default for kvm_hyperv_exit { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub immediate_exit: __u8, pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, pub kvm_valid_regs: __u64, pub kvm_dirty_regs: __u64, pub s: kvm_run__bindgen_ty_2, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_1 { pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, pub s390_reset_flags: __u64, pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, pub hyperv: kvm_hyperv_exit, pub padding: [::std::os::raw::c_char; 256usize], _bindgen_union_align: [u64; 32usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hardware_exit_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hardware_exit_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hardware_entry_failure_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hardware_entry_failure_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, pub port: __u16, pub count: __u32, pub data_offset: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).direction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(direction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(data_offset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), "::", stringify!(arch) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], pub len: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], pub ret: __u64, pub longmode: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).longmode as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(longmode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(is_write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, pub ipb: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).icptcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(icptcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipa as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipb) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(pgm_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcrn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(dcrn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, pub data: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).suberror as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(suberror) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ndata as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(ndata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gprs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), "::", stringify!(gprs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, pub args: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { assert_eq!( ::std::mem::size_of::(), 88usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(args) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, pub ipb: __u32, pub dequeued: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_word) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(ipb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dequeued as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(dequeued) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), "::", stringify!(epr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { pub addr: __u64, pub ar: __u8, pub reserved: __u8, pub fc: __u8, pub sel1: __u8, pub sel2: __u16, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(fc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel1 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { pub vector: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), "::", stringify!(vector) ) ); } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hw as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fail_entry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(fail_entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(ex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(debug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(mmio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hypercall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hypercall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tpr_access as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(tpr_access) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_sieic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_sieic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_reset_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_reset_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_ucontrol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_ucontrol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(dcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).osi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(osi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).papr_hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(papr_hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_tsch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_tsch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(epr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).system_event as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(system_event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_stsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_stsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eoi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hyperv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hyperv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_2 { pub regs: kvm_sync_regs, pub padding: [::std::os::raw::c_char; 2048usize], _bindgen_union_align: [u64; 256usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_run() { assert_eq!( ::std::mem::size_of::(), 2352usize, concat!("Size of: ", stringify!(kvm_run)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).request_interrupt_window as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(request_interrupt_window) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(immediate_exit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(padding1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exit_reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(exit_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ready_for_interrupt_injection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(ready_for_interrupt_injection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).if_flag as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(if_flag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_valid_regs as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_valid_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_dirty_regs as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_dirty_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(s) ) ); } impl Default for kvm_run { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, pub __bindgen_anon_1: kvm_coalesced_mmio_zone__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_coalesced_mmio_zone__bindgen_ty_1 { pub pad: __u32, pub pio: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1), "::", stringify!(pio) ) ); } impl Default for kvm_coalesced_mmio_zone__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(size) ) ); } impl Default for kvm_coalesced_mmio_zone { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, pub __bindgen_anon_1: kvm_coalesced_mmio__bindgen_ty_1, pub data: [__u8; 8usize], } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_coalesced_mmio__bindgen_ty_1 { pub pad: __u32, pub pio: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_coalesced_mmio__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1), "::", stringify!(pio) ) ); } impl Default for kvm_coalesced_mmio__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(data) ) ); } impl Default for kvm_coalesced_mmio { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).first as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(first) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(last) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).coalesced_mmio as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(coalesced_mmio) ) ); } impl Default for kvm_coalesced_mmio_ring { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, pub valid: __u8, pub writeable: __u8, pub usermode: __u8, pub pad: [__u8; 5usize], } #[test] fn bindgen_test_layout_kvm_translation() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_translation)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_translation)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).linear_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(linear_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physical_address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(physical_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(valid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).writeable as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(writeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usermode as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(usermode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mem_op { pub gaddr: __u64, pub flags: __u64, pub size: __u32, pub op: __u32, pub buf: __u64, pub ar: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_s390_mem_op() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_mem_op)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mem_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(gaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_interrupt), "::", stringify!(irq) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_dirty_log__bindgen_ty_1 { pub dirty_bitmap: *mut ::std::os::raw::c_void, pub padding2: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dirty_bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(dirty_bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(padding2) ) ); } impl Default for kvm_dirty_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_dirty_log() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(padding1) ) ); } impl Default for kvm_dirty_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_signal_mask)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_signal_mask)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(sigset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, pub reserved: [__u32; 8usize], } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vapic_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vapic_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vapic_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vapic_addr), "::", stringify!(vapic_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_mp_state)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_mp_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mp_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_mp_state), "::", stringify!(mp_state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_psw)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_psw)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, pub parm64: __u64, } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm64 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm64) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, } #[test] fn bindgen_test_layout_kvm_s390_io_info() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_s390_io_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_io_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_word) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, pub ext_params2: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_ext_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ext_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, pub per_address: __u64, pub data_exc_code: __u32, pub code: __u16, pub mon_class_nr: __u16, pub per_code: __u8, pub per_atmid: __u8, pub exc_access_id: __u8, pub per_access_id: __u8, pub op_access_id: __u8, pub flags: __u8, pub pad: [__u8; 2usize], } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_exc_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(data_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_class_nr as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_class_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_code as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_atmid as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_atmid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exc_access_id as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(exc_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_access_id as *const _ as usize }, 35usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op_access_id as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(op_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 37usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_prefix_info), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_extcall_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_emerg_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_stop_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_stop_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_stop_info), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, pub failing_storage_address: __u64, pub ext_damage_code: __u32, pub pad: __u32, pub fixed_logout: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr14 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(cr14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(mcic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).failing_storage_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(failing_storage_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_damage_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(ext_damage_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fixed_logout as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(fixed_logout) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_irq__bindgen_ty_1 { pub io: kvm_s390_io_info, pub ext: kvm_s390_ext_info, pub pgm: kvm_s390_pgm_info, pub emerg: kvm_s390_emerg_info, pub extcall: kvm_s390_extcall_info, pub prefix: kvm_s390_prefix_info, pub stop: kvm_s390_stop_info, pub mchk: kvm_s390_mchk_info, pub reserved: [::std::os::raw::c_char; 64usize], _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(ext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(pgm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emerg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(emerg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(extcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mchk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(mchk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_s390_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_irq() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_s390_irq)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(u) ) ); } impl Default for kvm_s390_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_irq_state { pub buf: __u64, pub flags: __u32, pub len: __u32, pub reserved: [__u32; 4usize], } #[test] fn bindgen_test_layout_kvm_s390_irq_state() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_irq_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, pub arch: kvm_guest_debug_arch, } #[test] fn bindgen_test_layout_kvm_guest_debug() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_guest_debug)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_guest_debug)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(arch) ) ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2; pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3; pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = u32; #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, pub len: __u32, pub fd: __s32, pub flags: __u32, pub pad: [__u8; 36usize], } #[test] fn bindgen_test_layout_kvm_ioeventfd() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_ioeventfd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioeventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datamatch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(datamatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(pad) ) ); } impl Default for kvm_ioeventfd { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, pub args: [__u64; 4usize], pub pad: [__u8; 64usize], } #[test] fn bindgen_test_layout_kvm_enable_cap() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(kvm_enable_cap)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enable_cap)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(cap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(pad) ) ); } impl Default for kvm_enable_cap { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], pub pad: [__u8; 108usize], } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(pad) ) ); } impl Default for kvm_ppc_pvinfo { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pte_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(pte_enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, pub enc: [kvm_ppc_one_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(slb_enc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, pub data_keys: __u16, pub instr_keys: __u16, pub sps: [kvm_ppc_one_seg_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { assert_eq!( ::std::mem::size_of::(), 592usize, concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(slb_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_keys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(data_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).instr_keys as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(instr_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(sps) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_resize_hpt { pub flags: __u64, pub shift: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_resize_hpt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shift as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(pin) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_msi__bindgen_ty_1 { pub pad: __u32, pub devid: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_msi__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_msi__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(devid) ) ); } impl Default for kvm_irq_routing_msi__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(data) ) ); } impl Default for kvm_irq_routing_msi { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, pub ind_offset: __u64, pub summary_offset: __u32, pub adapter_id: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter_id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(adapter_id) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_hv_sint { pub vcpu: __u32, pub sint: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_hv_sint() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(vcpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(sint) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, pub flags: __u32, pub pad: __u32, pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_entry__bindgen_ty_1 { pub irqchip: kvm_irq_routing_irqchip, pub msi: kvm_irq_routing_msi, pub adapter: kvm_irq_routing_s390_adapter, pub hv_sint: kvm_irq_routing_hv_sint, pub pad: [__u32; 8usize], _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_entry__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(msi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hv_sint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(hv_sint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_irq_routing_entry__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(u) ) ); } impl Default for kvm_irq_routing_entry { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_irq_routing() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(entries) ) ); } impl Default for kvm_irq_routing { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, pub flags: __u32, pub resamplefd: __u32, pub pad: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_irqfd() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irqfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resamplefd as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(resamplefd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, pub pad: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_clock_data() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_clock_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_clock_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(clock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, pub mmu_type: __u32, pub array_len: __u32, } #[test] fn bindgen_test_layout_kvm_config_tlb() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_config_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_config_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmu_type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(mmu_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array_len as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_dirty as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(num_dirty) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_reg_list)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_reg_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(reg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_one_reg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_one_reg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub flags: __u32, pub devid: __u32, pub pad: [__u8; 12usize], } #[test] fn bindgen_test_layout_kvm_msi() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_arm_device_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_arm_device_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_create_device() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_create_device)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_create_device)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, pub attr: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_device_attr() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_device_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_device_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).group as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(attr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(addr) ) ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 9; pub type kvm_device_type = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vfio_spapr_tce { pub groupfd: __s32, pub tablefd: __s32, } #[test] fn bindgen_test_layout_kvm_vfio_spapr_tce() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).groupfd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(groupfd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tablefd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(tablefd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, pub length: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(user_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(vcpu_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(length) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_enc_region { pub addr: __u64, pub size: __u64, } #[test] fn bindgen_test_layout_kvm_enc_region() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_enc_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enc_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enc_region), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enc_region), "::", stringify!(size) ) ); } pub const sev_cmd_id_KVM_SEV_INIT: sev_cmd_id = 0; pub const sev_cmd_id_KVM_SEV_ES_INIT: sev_cmd_id = 1; pub const sev_cmd_id_KVM_SEV_LAUNCH_START: sev_cmd_id = 2; pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_DATA: sev_cmd_id = 3; pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_VMSA: sev_cmd_id = 4; pub const sev_cmd_id_KVM_SEV_LAUNCH_SECRET: sev_cmd_id = 5; pub const sev_cmd_id_KVM_SEV_LAUNCH_MEASURE: sev_cmd_id = 6; pub const sev_cmd_id_KVM_SEV_LAUNCH_FINISH: sev_cmd_id = 7; pub const sev_cmd_id_KVM_SEV_SEND_START: sev_cmd_id = 8; pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_DATA: sev_cmd_id = 9; pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_VMSA: sev_cmd_id = 10; pub const sev_cmd_id_KVM_SEV_SEND_FINISH: sev_cmd_id = 11; pub const sev_cmd_id_KVM_SEV_RECEIVE_START: sev_cmd_id = 12; pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_DATA: sev_cmd_id = 13; pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_VMSA: sev_cmd_id = 14; pub const sev_cmd_id_KVM_SEV_RECEIVE_FINISH: sev_cmd_id = 15; pub const sev_cmd_id_KVM_SEV_GUEST_STATUS: sev_cmd_id = 16; pub const sev_cmd_id_KVM_SEV_DBG_DECRYPT: sev_cmd_id = 17; pub const sev_cmd_id_KVM_SEV_DBG_ENCRYPT: sev_cmd_id = 18; pub const sev_cmd_id_KVM_SEV_CERT_EXPORT: sev_cmd_id = 19; pub const sev_cmd_id_KVM_SEV_NR_MAX: sev_cmd_id = 20; pub type sev_cmd_id = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_cmd { pub id: __u32, pub data: __u64, pub error: __u32, pub sev_fd: __u32, } #[test] fn bindgen_test_layout_kvm_sev_cmd() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_sev_cmd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_cmd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(error) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sev_fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(sev_fd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_start { pub handle: __u32, pub policy: __u32, pub dh_uaddr: __u64, pub dh_len: __u32, pub session_uaddr: __u64, pub session_len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_start() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_sev_launch_start)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_start)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(policy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dh_uaddr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(dh_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dh_len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(dh_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).session_uaddr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(session_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).session_len as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(session_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_update_data { pub uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_update_data() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_sev_launch_update_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_update_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_update_data), "::", stringify!(uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_update_data), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_secret { pub hdr_uaddr: __u64, pub hdr_len: __u32, pub guest_uaddr: __u64, pub guest_len: __u32, pub trans_uaddr: __u64, pub trans_len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_secret() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_sev_launch_secret)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_secret)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdr_uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(hdr_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdr_len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(hdr_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_uaddr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(guest_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_len as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(guest_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_uaddr as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(trans_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_len as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(trans_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_measure { pub uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_measure() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_sev_launch_measure)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_measure)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_measure), "::", stringify!(uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_measure), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_guest_status { pub handle: __u32, pub policy: __u32, pub state: __u32, } #[test] fn bindgen_test_layout_kvm_sev_guest_status() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_sev_guest_status)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_sev_guest_status)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(policy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).state as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_dbg { pub src_uaddr: __u64, pub dst_uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_dbg() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_sev_dbg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_dbg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(src_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dst_uaddr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(dst_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, pub devfn: __u32, pub flags: __u32, pub segnr: __u32, pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_pci_dev__bindgen_ty_1 { pub reserved: [__u32; 11usize], _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).busnr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(busnr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devfn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(devfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).segnr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(segnr) ) ); } impl Default for kvm_assigned_pci_dev { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, pub guest_irq: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_irq__bindgen_ty_1 { pub reserved: [__u32; 12usize], _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_irq)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).host_irq as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(host_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_irq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(guest_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(flags) ) ); } impl Default for kvm_assigned_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, pub padding: __u16, } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(entry_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, pub entry: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_eventfd { pub conn_id: __u32, pub fd: __s32, pub flags: __u32, pub padding: [__u32; 3usize], } #[test] fn bindgen_test_layout_kvm_hyperv_eventfd() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_hyperv_eventfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_hyperv_eventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).conn_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(conn_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(padding) ) ); } kvm-bindings-0.1.1/src/arm/mod.rs010064403073240001001000000014241342005261100150030ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #[cfg(feature = "kvm-v4_14_0")] mod bindings_v4_14_0; #[cfg(feature = "kvm-v4_20_0")] mod bindings_v4_20_0; // Major hack to have a default version in case no feature is specified: // If no version is specified by using the features, just use the latest one // which currently is 4.20. #[cfg(all(not(feature = "kvm-v4_14_0"), not(feature = "kvm-v4_20_0")))] mod bindings_v4_20_0; pub mod bindings { #[cfg(feature = "kvm-v4_14_0")] pub use super::bindings_v4_14_0::*; #[cfg(feature = "kvm-v4_20_0")] pub use super::bindings_v4_20_0::*; #[cfg(all(not(feature = "kvm-v4_14_0"), not(feature = "kvm-v4_20_0")))] pub use super::bindings_v4_20_0::*; } kvm-bindings-0.1.1/src/arm64/bindings_v4_14_0.rs010064403073240001001000006237371342005266200173560ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* automatically generated by rust-bindgen */ #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub const __BITS_PER_LONG: u32 = 64; pub const __FD_SETSIZE: u32 = 1024; pub const _IOC_NRBITS: u32 = 8; pub const _IOC_TYPEBITS: u32 = 8; pub const _IOC_SIZEBITS: u32 = 14; pub const _IOC_DIRBITS: u32 = 2; pub const _IOC_NRMASK: u32 = 255; pub const _IOC_TYPEMASK: u32 = 255; pub const _IOC_SIZEMASK: u32 = 16383; pub const _IOC_DIRMASK: u32 = 3; pub const _IOC_NRSHIFT: u32 = 0; pub const _IOC_TYPESHIFT: u32 = 8; pub const _IOC_SIZESHIFT: u32 = 16; pub const _IOC_DIRSHIFT: u32 = 30; pub const _IOC_NONE: u32 = 0; pub const _IOC_WRITE: u32 = 1; pub const _IOC_READ: u32 = 2; pub const IOC_IN: u32 = 1073741824; pub const IOC_OUT: u32 = 2147483648; pub const IOC_INOUT: u32 = 3221225472; pub const IOCSIZE_MASK: u32 = 1073676288; pub const IOCSIZE_SHIFT: u32 = 16; pub const KVM_SPSR_EL1: u32 = 0; pub const KVM_SPSR_SVC: u32 = 0; pub const KVM_SPSR_ABT: u32 = 1; pub const KVM_SPSR_UND: u32 = 2; pub const KVM_SPSR_IRQ: u32 = 3; pub const KVM_SPSR_FIQ: u32 = 4; pub const KVM_NR_SPSR: u32 = 5; pub const PSCI_0_2_FN_BASE: u32 = 2214592512; pub const PSCI_0_2_64BIT: u32 = 1073741824; pub const PSCI_0_2_FN64_BASE: u32 = 3288334336; pub const PSCI_0_2_POWER_STATE_ID_MASK: u32 = 65535; pub const PSCI_0_2_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_0_2_POWER_STATE_TYPE_SHIFT: u32 = 16; pub const PSCI_0_2_POWER_STATE_TYPE_MASK: u32 = 65536; pub const PSCI_0_2_POWER_STATE_AFFL_SHIFT: u32 = 24; pub const PSCI_0_2_POWER_STATE_AFFL_MASK: u32 = 50331648; pub const PSCI_1_0_EXT_POWER_STATE_ID_MASK: u32 = 268435455; pub const PSCI_1_0_EXT_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT: u32 = 30; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_MASK: u32 = 1073741824; pub const PSCI_0_2_AFFINITY_LEVEL_ON: u32 = 0; pub const PSCI_0_2_AFFINITY_LEVEL_OFF: u32 = 1; pub const PSCI_0_2_AFFINITY_LEVEL_ON_PENDING: u32 = 2; pub const PSCI_0_2_TOS_UP_MIGRATE: u32 = 0; pub const PSCI_0_2_TOS_UP_NO_MIGRATE: u32 = 1; pub const PSCI_0_2_TOS_MP: u32 = 2; pub const PSCI_VERSION_MAJOR_SHIFT: u32 = 16; pub const PSCI_VERSION_MINOR_MASK: u32 = 65535; pub const PSCI_VERSION_MAJOR_MASK: i32 = -65536; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT: u32 = 1; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK: u32 = 2; pub const PSCI_RET_SUCCESS: u32 = 0; pub const PSCI_RET_NOT_SUPPORTED: i32 = -1; pub const PSCI_RET_INVALID_PARAMS: i32 = -2; pub const PSCI_RET_DENIED: i32 = -3; pub const PSCI_RET_ALREADY_ON: i32 = -4; pub const PSCI_RET_ON_PENDING: i32 = -5; pub const PSCI_RET_INTERNAL_FAILURE: i32 = -6; pub const PSCI_RET_NOT_PRESENT: i32 = -7; pub const PSCI_RET_DISABLED: i32 = -8; pub const PSCI_RET_INVALID_ADDRESS: i32 = -9; pub const HWCAP_FP: u32 = 1; pub const HWCAP_ASIMD: u32 = 2; pub const HWCAP_EVTSTRM: u32 = 4; pub const HWCAP_AES: u32 = 8; pub const HWCAP_PMULL: u32 = 16; pub const HWCAP_SHA1: u32 = 32; pub const HWCAP_SHA2: u32 = 64; pub const HWCAP_CRC32: u32 = 128; pub const HWCAP_ATOMICS: u32 = 256; pub const HWCAP_FPHP: u32 = 512; pub const HWCAP_ASIMDHP: u32 = 1024; pub const HWCAP_CPUID: u32 = 2048; pub const HWCAP_ASIMDRDM: u32 = 4096; pub const HWCAP_JSCVT: u32 = 8192; pub const HWCAP_FCMA: u32 = 16384; pub const HWCAP_LRCPC: u32 = 32768; pub const HWCAP_DCPOP: u32 = 65536; pub const PSR_MODE_EL0t: u32 = 0; pub const PSR_MODE_EL1t: u32 = 4; pub const PSR_MODE_EL1h: u32 = 5; pub const PSR_MODE_EL2t: u32 = 8; pub const PSR_MODE_EL2h: u32 = 9; pub const PSR_MODE_EL3t: u32 = 12; pub const PSR_MODE_EL3h: u32 = 13; pub const PSR_MODE_MASK: u32 = 15; pub const PSR_MODE32_BIT: u32 = 16; pub const PSR_F_BIT: u32 = 64; pub const PSR_I_BIT: u32 = 128; pub const PSR_A_BIT: u32 = 256; pub const PSR_D_BIT: u32 = 512; pub const PSR_PAN_BIT: u32 = 4194304; pub const PSR_UAO_BIT: u32 = 8388608; pub const PSR_Q_BIT: u32 = 134217728; pub const PSR_V_BIT: u32 = 268435456; pub const PSR_C_BIT: u32 = 536870912; pub const PSR_Z_BIT: u32 = 1073741824; pub const PSR_N_BIT: u32 = 2147483648; pub const PSR_f: u32 = 4278190080; pub const PSR_s: u32 = 16711680; pub const PSR_x: u32 = 65280; pub const PSR_c: u32 = 255; pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 1; pub const KVM_ARM_TARGET_AEM_V8: u32 = 0; pub const KVM_ARM_TARGET_FOUNDATION_V8: u32 = 1; pub const KVM_ARM_TARGET_CORTEX_A57: u32 = 2; pub const KVM_ARM_TARGET_XGENE_POTENZA: u32 = 3; pub const KVM_ARM_TARGET_CORTEX_A53: u32 = 4; pub const KVM_ARM_TARGET_GENERIC_V8: u32 = 5; pub const KVM_ARM_NUM_TARGETS: u32 = 6; pub const KVM_ARM_DEVICE_TYPE_SHIFT: u32 = 0; pub const KVM_ARM_DEVICE_TYPE_MASK: u32 = 65535; pub const KVM_ARM_DEVICE_ID_SHIFT: u32 = 16; pub const KVM_ARM_DEVICE_ID_MASK: u32 = 4294901760; pub const KVM_ARM_DEVICE_VGIC_V2: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_DIST: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_CPU: u32 = 1; pub const KVM_VGIC_V2_DIST_SIZE: u32 = 4096; pub const KVM_VGIC_V2_CPU_SIZE: u32 = 8192; pub const KVM_VGIC_V3_ADDR_TYPE_DIST: u32 = 2; pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: u32 = 3; pub const KVM_VGIC_ITS_ADDR_TYPE: u32 = 4; pub const KVM_ARM_VCPU_POWER_OFF: u32 = 0; pub const KVM_ARM_VCPU_EL1_32BIT: u32 = 1; pub const KVM_ARM_VCPU_PSCI_0_2: u32 = 2; pub const KVM_ARM_VCPU_PMU_V3: u32 = 3; pub const KVM_ARM_MAX_DBG_REGS: u32 = 16; pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536; pub const KVM_GUESTDBG_USE_HW: u32 = 131072; pub const KVM_REG_ARM_COPROC_MASK: u32 = 268369920; pub const KVM_REG_ARM_COPROC_SHIFT: u32 = 16; pub const KVM_REG_ARM_CORE: u32 = 1048576; pub const KVM_REG_ARM_DEMUX: u32 = 1114112; pub const KVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280; pub const KVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8; pub const KVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0; pub const KVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255; pub const KVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0; pub const KVM_REG_ARM64_SYSREG: u32 = 1245184; pub const KVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152; pub const KVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14; pub const KVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336; pub const KVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11; pub const KVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920; pub const KVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7; pub const KVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120; pub const KVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3; pub const KVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7; pub const KVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0; pub const KVM_DEV_ARM_VGIC_GRP_ADDR: u32 = 0; pub const KVM_DEV_ARM_VGIC_GRP_DIST_REGS: u32 = 1; pub const KVM_DEV_ARM_VGIC_GRP_CPU_REGS: u32 = 2; pub const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_CPUID_MASK: u64 = 1095216660480; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_MASK: i64 = -4294967296; pub const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; pub const KVM_DEV_ARM_VGIC_OFFSET_MASK: u32 = 4294967295; pub const KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK: u32 = 65535; pub const KVM_DEV_ARM_VGIC_GRP_NR_IRQS: u32 = 3; pub const KVM_DEV_ARM_VGIC_GRP_CTRL: u32 = 4; pub const KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: u32 = 5; pub const KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: u32 = 6; pub const KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: u32 = 7; pub const KVM_DEV_ARM_VGIC_GRP_ITS_REGS: u32 = 8; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT: u32 = 10; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK: u32 = 4294966272; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK: u32 = 1023; pub const VGIC_LEVEL_INFO_LINE_LEVEL: u32 = 0; pub const KVM_DEV_ARM_VGIC_CTRL_INIT: u32 = 0; pub const KVM_DEV_ARM_ITS_SAVE_TABLES: u32 = 1; pub const KVM_DEV_ARM_ITS_RESTORE_TABLES: u32 = 2; pub const KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES: u32 = 3; pub const KVM_ARM_VCPU_PMU_V3_CTRL: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_IRQ: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_INIT: u32 = 1; pub const KVM_ARM_VCPU_TIMER_CTRL: u32 = 1; pub const KVM_ARM_VCPU_TIMER_IRQ_VTIMER: u32 = 0; pub const KVM_ARM_VCPU_TIMER_IRQ_PTIMER: u32 = 1; pub const KVM_ARM_IRQ_TYPE_SHIFT: u32 = 24; pub const KVM_ARM_IRQ_TYPE_MASK: u32 = 255; pub const KVM_ARM_IRQ_VCPU_SHIFT: u32 = 16; pub const KVM_ARM_IRQ_VCPU_MASK: u32 = 255; pub const KVM_ARM_IRQ_NUM_SHIFT: u32 = 0; pub const KVM_ARM_IRQ_NUM_MASK: u32 = 65535; pub const KVM_ARM_IRQ_TYPE_CPU: u32 = 0; pub const KVM_ARM_IRQ_TYPE_SPI: u32 = 1; pub const KVM_ARM_IRQ_TYPE_PPI: u32 = 2; pub const KVM_ARM_IRQ_CPU_IRQ: u32 = 0; pub const KVM_ARM_IRQ_CPU_FIQ: u32 = 1; pub const KVM_ARM_IRQ_GIC_MAX: u32 = 127; pub const KVM_NR_IRQCHIPS: u32 = 1; pub const KVM_PSCI_FN_BASE: u32 = 2512501342; pub const KVM_PSCI_RET_SUCCESS: u32 = 0; pub const KVM_PSCI_RET_NI: i32 = -1; pub const KVM_PSCI_RET_INVAL: i32 = -2; pub const KVM_PSCI_RET_DENIED: i32 = -3; pub const KVM_API_VERSION: u32 = 12; pub const KVM_TRC_SHIFT: u32 = 16; pub const KVM_TRC_ENTRYEXIT: u32 = 65536; pub const KVM_TRC_HANDLER: u32 = 131072; pub const KVM_TRC_VMENTRY: u32 = 65537; pub const KVM_TRC_VMEXIT: u32 = 65538; pub const KVM_TRC_PAGE_FAULT: u32 = 131073; pub const KVM_TRC_HEAD_SIZE: u32 = 12; pub const KVM_TRC_CYCLE_SIZE: u32 = 8; pub const KVM_TRC_EXTRA_MAX: u32 = 7; pub const KVM_TRC_INJ_VIRQ: u32 = 131074; pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; pub const KVM_TRC_PEND_INTR: u32 = 131076; pub const KVM_TRC_IO_READ: u32 = 131077; pub const KVM_TRC_IO_WRITE: u32 = 131078; pub const KVM_TRC_CR_READ: u32 = 131079; pub const KVM_TRC_CR_WRITE: u32 = 131080; pub const KVM_TRC_DR_READ: u32 = 131081; pub const KVM_TRC_DR_WRITE: u32 = 131082; pub const KVM_TRC_MSR_READ: u32 = 131083; pub const KVM_TRC_MSR_WRITE: u32 = 131084; pub const KVM_TRC_CPUID: u32 = 131085; pub const KVM_TRC_INTR: u32 = 131086; pub const KVM_TRC_NMI: u32 = 131087; pub const KVM_TRC_VMMCALL: u32 = 131088; pub const KVM_TRC_HLT: u32 = 131089; pub const KVM_TRC_CLTS: u32 = 131090; pub const KVM_TRC_LMSW: u32 = 131091; pub const KVM_TRC_APIC_ACCESS: u32 = 131092; pub const KVM_TRC_TDP_FAULT: u32 = 131093; pub const KVM_TRC_GTLB_WRITE: u32 = 131094; pub const KVM_TRC_STLB_WRITE: u32 = 131095; pub const KVM_TRC_STLB_INVAL: u32 = 131096; pub const KVM_TRC_PPC_INSTR: u32 = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; pub const KVM_MEM_READONLY: u32 = 2; pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; pub const KVM_S390_CMMA_PEEK: u32 = 1; pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; pub const KVM_S390_SKEYS_MAX: u32 = 1048576; pub const KVM_EXIT_UNKNOWN: u32 = 0; pub const KVM_EXIT_EXCEPTION: u32 = 1; pub const KVM_EXIT_IO: u32 = 2; pub const KVM_EXIT_HYPERCALL: u32 = 3; pub const KVM_EXIT_DEBUG: u32 = 4; pub const KVM_EXIT_HLT: u32 = 5; pub const KVM_EXIT_MMIO: u32 = 6; pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; pub const KVM_EXIT_SHUTDOWN: u32 = 8; pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; pub const KVM_EXIT_INTR: u32 = 10; pub const KVM_EXIT_SET_TPR: u32 = 11; pub const KVM_EXIT_TPR_ACCESS: u32 = 12; pub const KVM_EXIT_S390_SIEIC: u32 = 13; pub const KVM_EXIT_S390_RESET: u32 = 14; pub const KVM_EXIT_DCR: u32 = 15; pub const KVM_EXIT_NMI: u32 = 16; pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; pub const KVM_EXIT_OSI: u32 = 18; pub const KVM_EXIT_PAPR_HCALL: u32 = 19; pub const KVM_EXIT_S390_UCONTROL: u32 = 20; pub const KVM_EXIT_WATCHDOG: u32 = 21; pub const KVM_EXIT_S390_TSCH: u32 = 22; pub const KVM_EXIT_EPR: u32 = 23; pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; pub const KVM_EXIT_S390_STSI: u32 = 25; pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; pub const KVM_EXIT_HYPERV: u32 = 27; pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; pub const KVM_EXIT_IO_IN: u32 = 0; pub const KVM_EXIT_IO_OUT: u32 = 1; pub const KVM_S390_RESET_POR: u32 = 1; pub const KVM_S390_RESET_CLEAR: u32 = 2; pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; pub const KVM_S390_RESET_CPU_INIT: u32 = 8; pub const KVM_S390_RESET_IPL: u32 = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; pub const KVM_MP_STATE_RUNNABLE: u32 = 0; pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; pub const KVM_MP_STATE_HALTED: u32 = 3; pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; pub const KVM_MP_STATE_STOPPED: u32 = 5; pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; pub const KVM_MP_STATE_OPERATING: u32 = 7; pub const KVM_MP_STATE_LOAD: u32 = 8; pub const KVM_S390_SIGP_STOP: u32 = 4294836224; pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; pub const KVM_S390_RESTART: u32 = 4294836227; pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; pub const KVM_S390_MCHK: u32 = 4294840320; pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; pub const KVM_S390_INT_SERVICE: u32 = 4294910977; pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; pub const KVM_S390_INT_IO_MIN: u32 = 0; pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; pub const KVM_GUESTDBG_ENABLE: u32 = 1; pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; pub const KVM_PPC_1T_SEGMENTS: u32 = 2; pub const KVMIO: u32 = 174; pub const KVM_VM_S390_UCONTROL: u32 = 1; pub const KVM_VM_PPC_HV: u32 = 1; pub const KVM_VM_PPC_PR: u32 = 2; pub const KVM_VM_MIPS_TE: u32 = 0; pub const KVM_VM_MIPS_VZ: u32 = 1; pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; pub const KVM_CAP_IRQCHIP: u32 = 0; pub const KVM_CAP_HLT: u32 = 1; pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; pub const KVM_CAP_USER_MEMORY: u32 = 3; pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; pub const KVM_CAP_VAPIC: u32 = 6; pub const KVM_CAP_EXT_CPUID: u32 = 7; pub const KVM_CAP_CLOCKSOURCE: u32 = 8; pub const KVM_CAP_NR_VCPUS: u32 = 9; pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; pub const KVM_CAP_PIT: u32 = 11; pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; pub const KVM_CAP_PV_MMU: u32 = 13; pub const KVM_CAP_MP_STATE: u32 = 14; pub const KVM_CAP_COALESCED_MMIO: u32 = 15; pub const KVM_CAP_SYNC_MMU: u32 = 16; pub const KVM_CAP_IOMMU: u32 = 18; pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; pub const KVM_CAP_USER_NMI: u32 = 22; pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; pub const KVM_CAP_IRQ_ROUTING: u32 = 25; pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; pub const KVM_CAP_IRQFD: u32 = 32; pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; pub const KVM_CAP_IOEVENTFD: u32 = 36; pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; pub const KVM_CAP_S390_PSW: u32 = 42; pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; pub const KVM_CAP_HYPERV: u32 = 44; pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; pub const KVM_CAP_HYPERV_SPIN: u32 = 46; pub const KVM_CAP_PCI_SEGMENT: u32 = 47; pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; pub const KVM_CAP_INTR_SHADOW: u32 = 49; pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; pub const KVM_CAP_PPC_OSI: u32 = 52; pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; pub const KVM_CAP_ENABLE_CAP: u32 = 54; pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; pub const KVM_CAP_ASYNC_PF: u32 = 59; pub const KVM_CAP_TSC_CONTROL: u32 = 60; pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; pub const KVM_CAP_SPAPR_TCE: u32 = 63; pub const KVM_CAP_PPC_SMT: u32 = 64; pub const KVM_CAP_PPC_RMA: u32 = 65; pub const KVM_CAP_MAX_VCPUS: u32 = 66; pub const KVM_CAP_PPC_HIOR: u32 = 67; pub const KVM_CAP_PPC_PAPR: u32 = 68; pub const KVM_CAP_SW_TLB: u32 = 69; pub const KVM_CAP_ONE_REG: u32 = 70; pub const KVM_CAP_S390_GMAP: u32 = 71; pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; pub const KVM_CAP_S390_UCONTROL: u32 = 73; pub const KVM_CAP_SYNC_REGS: u32 = 74; pub const KVM_CAP_PCI_2_3: u32 = 75; pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; pub const KVM_CAP_SIGNAL_MSI: u32 = 77; pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; pub const KVM_CAP_S390_COW: u32 = 79; pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; pub const KVM_CAP_READONLY_MEM: u32 = 81; pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; pub const KVM_CAP_PPC_EPR: u32 = 86; pub const KVM_CAP_ARM_PSCI: u32 = 87; pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; pub const KVM_CAP_DEVICE_CTRL: u32 = 89; pub const KVM_CAP_IRQ_MPIC: u32 = 90; pub const KVM_CAP_PPC_RTAS: u32 = 91; pub const KVM_CAP_IRQ_XICS: u32 = 92; pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; pub const KVM_CAP_HYPERV_TIME: u32 = 96; pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; pub const KVM_CAP_S390_IRQCHIP: u32 = 99; pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; pub const KVM_CAP_S390_USER_SIGP: u32 = 106; pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; pub const KVM_CAP_S390_MEM_OP: u32 = 108; pub const KVM_CAP_S390_USER_STSI: u32 = 109; pub const KVM_CAP_S390_SKEYS: u32 = 110; pub const KVM_CAP_MIPS_FPU: u32 = 111; pub const KVM_CAP_MIPS_MSA: u32 = 112; pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; pub const KVM_CAP_PPC_HWRNG: u32 = 115; pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; pub const KVM_CAP_X86_SMM: u32 = 117; pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; pub const KVM_CAP_S390_RI: u32 = 124; pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; pub const KVM_CAP_ARM_PMU_V3: u32 = 126; pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; pub const KVM_CAP_X2APIC_API: u32 = 129; pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; pub const KVM_CAP_MSI_DEVID: u32 = 131; pub const KVM_CAP_PPC_HTM: u32 = 132; pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; pub const KVM_CAP_MIPS_VZ: u32 = 137; pub const KVM_CAP_MIPS_TE: u32 = 138; pub const KVM_CAP_MIPS_64BIT: u32 = 139; pub const KVM_CAP_S390_GS: u32 = 140; pub const KVM_CAP_S390_AIS: u32 = 141; pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; pub const KVM_CAP_X86_GUEST_MWAIT: u32 = 143; pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; pub const KVM_CAP_PPC_FWNMI: u32 = 146; pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; pub const KVM_IRQ_ROUTING_MSI: u32 = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; pub const KVM_CLOCK_TSC_STABLE: u32 = 2; pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; pub const KVM_REG_GENERIC: u32 = 0; pub const KVM_REG_PPC: u64 = 1152921504606846976; pub const KVM_REG_X86: u64 = 2305843009213693952; pub const KVM_REG_IA64: u64 = 3458764513820540928; pub const KVM_REG_ARM: u64 = 4611686018427387904; pub const KVM_REG_S390: u64 = 5764607523034234880; pub const KVM_REG_ARM64: u64 = 6917529027641081856; pub const KVM_REG_MIPS: u64 = 8070450532247928832; pub const KVM_REG_SIZE_SHIFT: u32 = 52; pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; pub const KVM_REG_SIZE_U8: u32 = 0; pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; pub const KVM_MSI_VALID_DEVID: u32 = 1; pub const KVM_CREATE_DEVICE_TEST: u32 = 1; pub const KVM_DEV_VFIO_GROUP: u32 = 1; pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; pub const KVM_ARM_DEV_PMU: u32 = 4; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_mode_t = ::std::os::raw::c_uint; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; pub type __kernel_uid_t = ::std::os::raw::c_uint; pub type __kernel_gid_t = ::std::os::raw::c_uint; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::c_uint; pub type __kernel_old_dev_t = ::std::os::raw::c_uint; pub type __kernel_size_t = __kernel_ulong_t; pub type __kernel_ssize_t = __kernel_long_t; pub type __kernel_ptrdiff_t = __kernel_long_t; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::c_ushort; pub type __le16 = __u16; pub type __be16 = __u16; pub type __le32 = __u32; pub type __be32 = __u32; pub type __le64 = __u64; pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_pt_regs { pub regs: [__u64; 31usize], pub sp: __u64, pub pc: __u64, pub pstate: __u64, } #[test] fn bindgen_test_layout_user_pt_regs() { assert_eq!( ::std::mem::size_of::(), 272usize, concat!("Size of: ", stringify!(user_pt_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(user_pt_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sp as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(sp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pc as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(pc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pstate as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(pstate) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_fpsimd_state { pub vregs: [__uint128_t; 32usize], pub fpsr: __u32, pub fpcr: __u32, pub __reserved: [__u32; 2usize], } #[test] fn bindgen_test_layout_user_fpsimd_state() { assert_eq!( ::std::mem::size_of::(), 528usize, concat!("Size of: ", stringify!(user_fpsimd_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vregs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(vregs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpsr as *const _ as usize }, 512usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(fpsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpcr as *const _ as usize }, 516usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(fpcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 520usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(__reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_hwdebug_state { pub dbg_info: __u32, pub pad: __u32, pub dbg_regs: [user_hwdebug_state__bindgen_ty_1; 16usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_hwdebug_state__bindgen_ty_1 { pub addr: __u64, pub ctrl: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_user_hwdebug_state__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(user_hwdebug_state__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(user_hwdebug_state__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state__bindgen_ty_1), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ctrl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state__bindgen_ty_1), "::", stringify!(ctrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state__bindgen_ty_1), "::", stringify!(pad) ) ); } #[test] fn bindgen_test_layout_user_hwdebug_state() { assert_eq!( ::std::mem::size_of::(), 264usize, concat!("Size of: ", stringify!(user_hwdebug_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(user_hwdebug_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_info as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state), "::", stringify!(dbg_info) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_regs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state), "::", stringify!(dbg_regs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_regs { pub regs: user_pt_regs, pub sp_el1: __u64, pub elr_el1: __u64, pub spsr: [__u64; 5usize], pub __bindgen_padding_0: u64, pub fp_regs: user_fpsimd_state, } #[test] fn bindgen_test_layout_kvm_regs() { assert_eq!( ::std::mem::size_of::(), 864usize, concat!("Size of: ", stringify!(kvm_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sp_el1 as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(sp_el1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elr_el1 as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(elr_el1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).spsr as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(spsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fp_regs as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(fp_regs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_init { pub target: __u32, pub features: [__u32; 7usize], } #[test] fn bindgen_test_layout_kvm_vcpu_init() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_vcpu_init)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_init)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).target as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(target) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).features as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(features) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sregs {} #[test] fn bindgen_test_layout_kvm_sregs() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_sregs)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_sregs)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_fpu {} #[test] fn bindgen_test_layout_kvm_fpu() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_fpu)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_fpu)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug_arch { pub dbg_bcr: [__u64; 16usize], pub dbg_bvr: [__u64; 16usize], pub dbg_wcr: [__u64; 16usize], pub dbg_wvr: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_bcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_bcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_bvr as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_bvr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_wcr as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_wcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_wvr as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_wvr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_exit_arch { pub hsr: __u32, pub far: __u64, } #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hsr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(hsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).far as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(far) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sync_regs { pub device_irq_level: __u64, } #[test] fn bindgen_test_layout_kvm_sync_regs() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_sync_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sync_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).device_irq_level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(device_irq_level) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arch_memory_slot {} #[test] fn bindgen_test_layout_kvm_arch_memory_slot() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_arch_memory_slot)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_arch_memory_slot)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_user_trace_setup)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_user_trace_setup)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_nr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, pub address: __u64, } #[test] fn bindgen_test_layout_kvm_breakpoint() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_breakpoint)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_breakpoint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, pub breakpoints: [kvm_breakpoint; 4usize], pub singlestep: __u32, } #[test] fn bindgen_test_layout_kvm_debug_guest() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(kvm_debug_guest)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_guest)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).breakpoints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(breakpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).singlestep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(singlestep) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, } #[test] fn bindgen_test_layout_kvm_memory_region() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(memory_size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub userspace_addr: __u64, } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userspace_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(userspace_addr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_level__bindgen_ty_1 { pub irq: __u32, pub status: __s32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(status) ) ); } impl Default for kvm_irq_level__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_level() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_level)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_level), "::", stringify!(level) ) ); } impl Default for kvm_irq_level { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irqchip__bindgen_ty_1 { pub dummy: [::std::os::raw::c_char; 512usize], _bindgen_union_align: [u8; 512usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(dummy) ) ); } impl Default for kvm_irqchip__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irqchip() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip) ) ); } impl Default for kvm_irqchip { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_pit_config)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_pit_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_skeys { pub start_gfn: __u64, pub count: __u64, pub skeydata_addr: __u64, pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_s390_skeys() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_skeys)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_skeys)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).skeydata_addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(skeydata_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(reserved) ) ); } #[doc = " kvm_s390_cmma_log - Used for CMMA migration."] #[doc = ""] #[doc = " Used both for input and output."] #[doc = ""] #[doc = " @start_gfn: Guest page number to start from."] #[doc = " @count: Size of the result buffer."] #[doc = " @flags: Control operation mode via KVM_S390_CMMA_* flags"] #[doc = " @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty"] #[doc = " pages are still remaining."] #[doc = " @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set"] #[doc = " in the PGSTE."] #[doc = " @values: Pointer to the values buffer."] #[doc = ""] #[doc = " Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls."] #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_cmma_log { pub start_gfn: __u64, pub count: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, pub values: __u64, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_cmma_log__bindgen_ty_1 { pub remaining: __u64, pub mask: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_s390_cmma_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remaining as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(mask) ) ); } impl Default for kvm_s390_cmma_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_cmma_log() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).values as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(values) ) ); } impl Default for kvm_s390_cmma_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_hyperv_exit { pub type_: __u32, pub u: kvm_hyperv_exit__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_hyperv_exit__bindgen_ty_1 { pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, _bindgen_union_align: [u64; 4usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { pub msr: __u32, pub control: __u64, pub evt_page: __u64, pub msg_page: __u64, } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).evt_page as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(evt_page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_page as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msg_page) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { pub input: __u64, pub result: __u64, pub params: [__u64; 2usize], } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(input) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).result as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(result) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(params) ) ); } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).synic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(synic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(hcall) ) ); } impl Default for kvm_hyperv_exit__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_hyperv_exit() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_hyperv_exit)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(u) ) ); } impl Default for kvm_hyperv_exit { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub immediate_exit: __u8, pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, pub kvm_valid_regs: __u64, pub kvm_dirty_regs: __u64, pub s: kvm_run__bindgen_ty_2, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_1 { pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, pub s390_reset_flags: __u64, pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, pub hyperv: kvm_hyperv_exit, pub padding: [::std::os::raw::c_char; 256usize], _bindgen_union_align: [u64; 32usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hardware_exit_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hardware_exit_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hardware_entry_failure_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hardware_entry_failure_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, pub port: __u16, pub count: __u32, pub data_offset: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).direction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(direction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(data_offset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), "::", stringify!(arch) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], pub len: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], pub ret: __u64, pub longmode: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).longmode as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(longmode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(is_write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, pub ipb: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).icptcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(icptcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipa as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipb) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(pgm_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcrn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(dcrn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, pub data: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).suberror as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(suberror) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ndata as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(ndata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gprs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), "::", stringify!(gprs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, pub args: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { assert_eq!( ::std::mem::size_of::(), 88usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(args) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, pub ipb: __u32, pub dequeued: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_word) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(ipb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dequeued as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(dequeued) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), "::", stringify!(epr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { pub addr: __u64, pub ar: __u8, pub reserved: __u8, pub fc: __u8, pub sel1: __u8, pub sel2: __u16, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(fc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel1 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { pub vector: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), "::", stringify!(vector) ) ); } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hw as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fail_entry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(fail_entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(ex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(debug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(mmio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hypercall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hypercall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tpr_access as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(tpr_access) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_sieic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_sieic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_reset_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_reset_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_ucontrol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_ucontrol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(dcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).osi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(osi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).papr_hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(papr_hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_tsch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_tsch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(epr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).system_event as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(system_event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_stsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_stsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eoi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hyperv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hyperv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_2 { pub regs: kvm_sync_regs, pub padding: [::std::os::raw::c_char; 2048usize], _bindgen_union_align: [u64; 256usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_run() { assert_eq!( ::std::mem::size_of::(), 2352usize, concat!("Size of: ", stringify!(kvm_run)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).request_interrupt_window as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(request_interrupt_window) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(immediate_exit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(padding1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exit_reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(exit_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ready_for_interrupt_injection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(ready_for_interrupt_injection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).if_flag as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(if_flag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_valid_regs as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_valid_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_dirty_regs as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_dirty_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(s) ) ); } impl Default for kvm_run { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, pub pad: __u32, pub data: [__u8; 8usize], } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).first as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(first) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(last) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).coalesced_mmio as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(coalesced_mmio) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, pub valid: __u8, pub writeable: __u8, pub usermode: __u8, pub pad: [__u8; 5usize], } #[test] fn bindgen_test_layout_kvm_translation() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_translation)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_translation)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).linear_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(linear_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physical_address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(physical_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(valid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).writeable as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(writeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usermode as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(usermode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mem_op { pub gaddr: __u64, pub flags: __u64, pub size: __u32, pub op: __u32, pub buf: __u64, pub ar: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_s390_mem_op() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_mem_op)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mem_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(gaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_interrupt), "::", stringify!(irq) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_dirty_log__bindgen_ty_1 { pub dirty_bitmap: *mut ::std::os::raw::c_void, pub padding2: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dirty_bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(dirty_bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(padding2) ) ); } impl Default for kvm_dirty_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_dirty_log() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(padding1) ) ); } impl Default for kvm_dirty_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_signal_mask)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_signal_mask)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(sigset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, pub reserved: [__u32; 8usize], } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vapic_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vapic_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vapic_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vapic_addr), "::", stringify!(vapic_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_mp_state)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_mp_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mp_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_mp_state), "::", stringify!(mp_state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_psw)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_psw)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, pub parm64: __u64, } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm64 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm64) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, } #[test] fn bindgen_test_layout_kvm_s390_io_info() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_s390_io_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_io_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_word) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, pub ext_params2: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_ext_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ext_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, pub per_address: __u64, pub data_exc_code: __u32, pub code: __u16, pub mon_class_nr: __u16, pub per_code: __u8, pub per_atmid: __u8, pub exc_access_id: __u8, pub per_access_id: __u8, pub op_access_id: __u8, pub flags: __u8, pub pad: [__u8; 2usize], } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_exc_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(data_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_class_nr as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_class_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_code as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_atmid as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_atmid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exc_access_id as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(exc_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_access_id as *const _ as usize }, 35usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op_access_id as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(op_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 37usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_prefix_info), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_extcall_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_emerg_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_stop_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_stop_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_stop_info), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, pub failing_storage_address: __u64, pub ext_damage_code: __u32, pub pad: __u32, pub fixed_logout: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr14 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(cr14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(mcic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).failing_storage_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(failing_storage_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_damage_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(ext_damage_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fixed_logout as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(fixed_logout) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_irq__bindgen_ty_1 { pub io: kvm_s390_io_info, pub ext: kvm_s390_ext_info, pub pgm: kvm_s390_pgm_info, pub emerg: kvm_s390_emerg_info, pub extcall: kvm_s390_extcall_info, pub prefix: kvm_s390_prefix_info, pub stop: kvm_s390_stop_info, pub mchk: kvm_s390_mchk_info, pub reserved: [::std::os::raw::c_char; 64usize], _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(ext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(pgm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emerg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(emerg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(extcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mchk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(mchk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_s390_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_irq() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_s390_irq)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(u) ) ); } impl Default for kvm_s390_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_irq_state { pub buf: __u64, pub flags: __u32, pub len: __u32, pub reserved: [__u32; 4usize], } #[test] fn bindgen_test_layout_kvm_s390_irq_state() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_irq_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, pub arch: kvm_guest_debug_arch, } #[test] fn bindgen_test_layout_kvm_guest_debug() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_guest_debug)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(arch) ) ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2; pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3; pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = u32; #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, pub len: __u32, pub fd: __s32, pub flags: __u32, pub pad: [__u8; 36usize], } #[test] fn bindgen_test_layout_kvm_ioeventfd() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_ioeventfd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioeventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datamatch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(datamatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(pad) ) ); } impl Default for kvm_ioeventfd { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, pub args: [__u64; 4usize], pub pad: [__u8; 64usize], } #[test] fn bindgen_test_layout_kvm_enable_cap() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(kvm_enable_cap)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enable_cap)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(cap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(pad) ) ); } impl Default for kvm_enable_cap { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], pub pad: [__u8; 108usize], } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(pad) ) ); } impl Default for kvm_ppc_pvinfo { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pte_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(pte_enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, pub enc: [kvm_ppc_one_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(slb_enc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, pub data_keys: __u16, pub instr_keys: __u16, pub sps: [kvm_ppc_one_seg_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { assert_eq!( ::std::mem::size_of::(), 592usize, concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(slb_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_keys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(data_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).instr_keys as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(instr_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(sps) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_resize_hpt { pub flags: __u64, pub shift: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_resize_hpt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shift as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(pin) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_msi__bindgen_ty_1 { pub pad: __u32, pub devid: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_msi__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_msi__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(devid) ) ); } impl Default for kvm_irq_routing_msi__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(data) ) ); } impl Default for kvm_irq_routing_msi { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, pub ind_offset: __u64, pub summary_offset: __u32, pub adapter_id: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter_id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(adapter_id) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_hv_sint { pub vcpu: __u32, pub sint: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_hv_sint() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(vcpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(sint) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, pub flags: __u32, pub pad: __u32, pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_entry__bindgen_ty_1 { pub irqchip: kvm_irq_routing_irqchip, pub msi: kvm_irq_routing_msi, pub adapter: kvm_irq_routing_s390_adapter, pub hv_sint: kvm_irq_routing_hv_sint, pub pad: [__u32; 8usize], _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_entry__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(msi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hv_sint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(hv_sint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_irq_routing_entry__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(u) ) ); } impl Default for kvm_irq_routing_entry { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_irq_routing() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(entries) ) ); } impl Default for kvm_irq_routing { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, pub flags: __u32, pub resamplefd: __u32, pub pad: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_irqfd() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irqfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resamplefd as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(resamplefd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, pub pad: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_clock_data() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_clock_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_clock_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(clock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, pub mmu_type: __u32, pub array_len: __u32, } #[test] fn bindgen_test_layout_kvm_config_tlb() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_config_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_config_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmu_type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(mmu_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array_len as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_dirty as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(num_dirty) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_reg_list)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_reg_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(reg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_one_reg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_one_reg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub flags: __u32, pub devid: __u32, pub pad: [__u8; 12usize], } #[test] fn bindgen_test_layout_kvm_msi() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_arm_device_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_arm_device_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_create_device() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_create_device)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_create_device)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, pub attr: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_device_attr() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_device_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_device_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).group as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(attr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(addr) ) ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 9; pub type kvm_device_type = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vfio_spapr_tce { pub groupfd: __s32, pub tablefd: __s32, } #[test] fn bindgen_test_layout_kvm_vfio_spapr_tce() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).groupfd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(groupfd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tablefd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(tablefd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, pub length: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(user_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(vcpu_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(length) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, pub devfn: __u32, pub flags: __u32, pub segnr: __u32, pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_pci_dev__bindgen_ty_1 { pub reserved: [__u32; 11usize], _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).busnr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(busnr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devfn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(devfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).segnr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(segnr) ) ); } impl Default for kvm_assigned_pci_dev { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, pub guest_irq: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_irq__bindgen_ty_1 { pub reserved: [__u32; 12usize], _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_irq)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).host_irq as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(host_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_irq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(guest_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(flags) ) ); } impl Default for kvm_assigned_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, pub padding: __u16, } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(entry_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, pub entry: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(padding) ) ); } pub type __uint128_t = [u64; 2]; kvm-bindings-0.1.1/src/arm64/bindings_v4_20_0.rs010064403073240001001000007513211342005267100173420ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* automatically generated by rust-bindgen */ #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub const __BITS_PER_LONG: u32 = 64; pub const __FD_SETSIZE: u32 = 1024; pub const _IOC_NRBITS: u32 = 8; pub const _IOC_TYPEBITS: u32 = 8; pub const _IOC_SIZEBITS: u32 = 14; pub const _IOC_DIRBITS: u32 = 2; pub const _IOC_NRMASK: u32 = 255; pub const _IOC_TYPEMASK: u32 = 255; pub const _IOC_SIZEMASK: u32 = 16383; pub const _IOC_DIRMASK: u32 = 3; pub const _IOC_NRSHIFT: u32 = 0; pub const _IOC_TYPESHIFT: u32 = 8; pub const _IOC_SIZESHIFT: u32 = 16; pub const _IOC_DIRSHIFT: u32 = 30; pub const _IOC_NONE: u32 = 0; pub const _IOC_WRITE: u32 = 1; pub const _IOC_READ: u32 = 2; pub const IOC_IN: u32 = 1073741824; pub const IOC_OUT: u32 = 2147483648; pub const IOC_INOUT: u32 = 3221225472; pub const IOCSIZE_MASK: u32 = 1073676288; pub const IOCSIZE_SHIFT: u32 = 16; pub const KVM_SPSR_EL1: u32 = 0; pub const KVM_SPSR_SVC: u32 = 0; pub const KVM_SPSR_ABT: u32 = 1; pub const KVM_SPSR_UND: u32 = 2; pub const KVM_SPSR_IRQ: u32 = 3; pub const KVM_SPSR_FIQ: u32 = 4; pub const KVM_NR_SPSR: u32 = 5; pub const PSCI_0_2_FN_BASE: u32 = 2214592512; pub const PSCI_0_2_64BIT: u32 = 1073741824; pub const PSCI_0_2_FN64_BASE: u32 = 3288334336; pub const PSCI_0_2_POWER_STATE_ID_MASK: u32 = 65535; pub const PSCI_0_2_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_0_2_POWER_STATE_TYPE_SHIFT: u32 = 16; pub const PSCI_0_2_POWER_STATE_TYPE_MASK: u32 = 65536; pub const PSCI_0_2_POWER_STATE_AFFL_SHIFT: u32 = 24; pub const PSCI_0_2_POWER_STATE_AFFL_MASK: u32 = 50331648; pub const PSCI_1_0_EXT_POWER_STATE_ID_MASK: u32 = 268435455; pub const PSCI_1_0_EXT_POWER_STATE_ID_SHIFT: u32 = 0; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT: u32 = 30; pub const PSCI_1_0_EXT_POWER_STATE_TYPE_MASK: u32 = 1073741824; pub const PSCI_0_2_AFFINITY_LEVEL_ON: u32 = 0; pub const PSCI_0_2_AFFINITY_LEVEL_OFF: u32 = 1; pub const PSCI_0_2_AFFINITY_LEVEL_ON_PENDING: u32 = 2; pub const PSCI_0_2_TOS_UP_MIGRATE: u32 = 0; pub const PSCI_0_2_TOS_UP_NO_MIGRATE: u32 = 1; pub const PSCI_0_2_TOS_MP: u32 = 2; pub const PSCI_VERSION_MAJOR_SHIFT: u32 = 16; pub const PSCI_VERSION_MINOR_MASK: u32 = 65535; pub const PSCI_VERSION_MAJOR_MASK: i32 = -65536; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT: u32 = 1; pub const PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK: u32 = 2; pub const PSCI_RET_SUCCESS: u32 = 0; pub const PSCI_RET_NOT_SUPPORTED: i32 = -1; pub const PSCI_RET_INVALID_PARAMS: i32 = -2; pub const PSCI_RET_DENIED: i32 = -3; pub const PSCI_RET_ALREADY_ON: i32 = -4; pub const PSCI_RET_ON_PENDING: i32 = -5; pub const PSCI_RET_INTERNAL_FAILURE: i32 = -6; pub const PSCI_RET_NOT_PRESENT: i32 = -7; pub const PSCI_RET_DISABLED: i32 = -8; pub const PSCI_RET_INVALID_ADDRESS: i32 = -9; pub const HWCAP_FP: u32 = 1; pub const HWCAP_ASIMD: u32 = 2; pub const HWCAP_EVTSTRM: u32 = 4; pub const HWCAP_AES: u32 = 8; pub const HWCAP_PMULL: u32 = 16; pub const HWCAP_SHA1: u32 = 32; pub const HWCAP_SHA2: u32 = 64; pub const HWCAP_CRC32: u32 = 128; pub const HWCAP_ATOMICS: u32 = 256; pub const HWCAP_FPHP: u32 = 512; pub const HWCAP_ASIMDHP: u32 = 1024; pub const HWCAP_CPUID: u32 = 2048; pub const HWCAP_ASIMDRDM: u32 = 4096; pub const HWCAP_JSCVT: u32 = 8192; pub const HWCAP_FCMA: u32 = 16384; pub const HWCAP_LRCPC: u32 = 32768; pub const HWCAP_DCPOP: u32 = 65536; pub const HWCAP_SHA3: u32 = 131072; pub const HWCAP_SM3: u32 = 262144; pub const HWCAP_SM4: u32 = 524288; pub const HWCAP_ASIMDDP: u32 = 1048576; pub const HWCAP_SHA512: u32 = 2097152; pub const HWCAP_SVE: u32 = 4194304; pub const HWCAP_ASIMDFHM: u32 = 8388608; pub const HWCAP_DIT: u32 = 16777216; pub const HWCAP_USCAT: u32 = 33554432; pub const HWCAP_ILRCPC: u32 = 67108864; pub const HWCAP_FLAGM: u32 = 134217728; pub const HWCAP_SSBS: u32 = 268435456; pub const FPSIMD_MAGIC: u32 = 1179680769; pub const ESR_MAGIC: u32 = 1163088385; pub const EXTRA_MAGIC: u32 = 1163416577; pub const SVE_MAGIC: u32 = 1398162689; pub const SVE_VQ_BYTES: u32 = 16; pub const SVE_VQ_MIN: u32 = 1; pub const SVE_VQ_MAX: u32 = 512; pub const SVE_VL_MIN: u32 = 16; pub const SVE_VL_MAX: u32 = 8192; pub const SVE_NUM_ZREGS: u32 = 32; pub const SVE_NUM_PREGS: u32 = 16; pub const PSR_MODE_EL0t: u32 = 0; pub const PSR_MODE_EL1t: u32 = 4; pub const PSR_MODE_EL1h: u32 = 5; pub const PSR_MODE_EL2t: u32 = 8; pub const PSR_MODE_EL2h: u32 = 9; pub const PSR_MODE_EL3t: u32 = 12; pub const PSR_MODE_EL3h: u32 = 13; pub const PSR_MODE_MASK: u32 = 15; pub const PSR_MODE32_BIT: u32 = 16; pub const PSR_F_BIT: u32 = 64; pub const PSR_I_BIT: u32 = 128; pub const PSR_A_BIT: u32 = 256; pub const PSR_D_BIT: u32 = 512; pub const PSR_SSBS_BIT: u32 = 4096; pub const PSR_PAN_BIT: u32 = 4194304; pub const PSR_UAO_BIT: u32 = 8388608; pub const PSR_V_BIT: u32 = 268435456; pub const PSR_C_BIT: u32 = 536870912; pub const PSR_Z_BIT: u32 = 1073741824; pub const PSR_N_BIT: u32 = 2147483648; pub const PSR_f: u32 = 4278190080; pub const PSR_s: u32 = 16711680; pub const PSR_x: u32 = 65280; pub const PSR_c: u32 = 255; pub const PR_SET_PDEATHSIG: u32 = 1; pub const PR_GET_PDEATHSIG: u32 = 2; pub const PR_GET_DUMPABLE: u32 = 3; pub const PR_SET_DUMPABLE: u32 = 4; pub const PR_GET_UNALIGN: u32 = 5; pub const PR_SET_UNALIGN: u32 = 6; pub const PR_UNALIGN_NOPRINT: u32 = 1; pub const PR_UNALIGN_SIGBUS: u32 = 2; pub const PR_GET_KEEPCAPS: u32 = 7; pub const PR_SET_KEEPCAPS: u32 = 8; pub const PR_GET_FPEMU: u32 = 9; pub const PR_SET_FPEMU: u32 = 10; pub const PR_FPEMU_NOPRINT: u32 = 1; pub const PR_FPEMU_SIGFPE: u32 = 2; pub const PR_GET_FPEXC: u32 = 11; pub const PR_SET_FPEXC: u32 = 12; pub const PR_FP_EXC_SW_ENABLE: u32 = 128; pub const PR_FP_EXC_DIV: u32 = 65536; pub const PR_FP_EXC_OVF: u32 = 131072; pub const PR_FP_EXC_UND: u32 = 262144; pub const PR_FP_EXC_RES: u32 = 524288; pub const PR_FP_EXC_INV: u32 = 1048576; pub const PR_FP_EXC_DISABLED: u32 = 0; pub const PR_FP_EXC_NONRECOV: u32 = 1; pub const PR_FP_EXC_ASYNC: u32 = 2; pub const PR_FP_EXC_PRECISE: u32 = 3; pub const PR_GET_TIMING: u32 = 13; pub const PR_SET_TIMING: u32 = 14; pub const PR_TIMING_STATISTICAL: u32 = 0; pub const PR_TIMING_TIMESTAMP: u32 = 1; pub const PR_SET_NAME: u32 = 15; pub const PR_GET_NAME: u32 = 16; pub const PR_GET_ENDIAN: u32 = 19; pub const PR_SET_ENDIAN: u32 = 20; pub const PR_ENDIAN_BIG: u32 = 0; pub const PR_ENDIAN_LITTLE: u32 = 1; pub const PR_ENDIAN_PPC_LITTLE: u32 = 2; pub const PR_GET_SECCOMP: u32 = 21; pub const PR_SET_SECCOMP: u32 = 22; pub const PR_CAPBSET_READ: u32 = 23; pub const PR_CAPBSET_DROP: u32 = 24; pub const PR_GET_TSC: u32 = 25; pub const PR_SET_TSC: u32 = 26; pub const PR_TSC_ENABLE: u32 = 1; pub const PR_TSC_SIGSEGV: u32 = 2; pub const PR_GET_SECUREBITS: u32 = 27; pub const PR_SET_SECUREBITS: u32 = 28; pub const PR_SET_TIMERSLACK: u32 = 29; pub const PR_GET_TIMERSLACK: u32 = 30; pub const PR_TASK_PERF_EVENTS_DISABLE: u32 = 31; pub const PR_TASK_PERF_EVENTS_ENABLE: u32 = 32; pub const PR_MCE_KILL: u32 = 33; pub const PR_MCE_KILL_CLEAR: u32 = 0; pub const PR_MCE_KILL_SET: u32 = 1; pub const PR_MCE_KILL_LATE: u32 = 0; pub const PR_MCE_KILL_EARLY: u32 = 1; pub const PR_MCE_KILL_DEFAULT: u32 = 2; pub const PR_MCE_KILL_GET: u32 = 34; pub const PR_SET_MM: u32 = 35; pub const PR_SET_MM_START_CODE: u32 = 1; pub const PR_SET_MM_END_CODE: u32 = 2; pub const PR_SET_MM_START_DATA: u32 = 3; pub const PR_SET_MM_END_DATA: u32 = 4; pub const PR_SET_MM_START_STACK: u32 = 5; pub const PR_SET_MM_START_BRK: u32 = 6; pub const PR_SET_MM_BRK: u32 = 7; pub const PR_SET_MM_ARG_START: u32 = 8; pub const PR_SET_MM_ARG_END: u32 = 9; pub const PR_SET_MM_ENV_START: u32 = 10; pub const PR_SET_MM_ENV_END: u32 = 11; pub const PR_SET_MM_AUXV: u32 = 12; pub const PR_SET_MM_EXE_FILE: u32 = 13; pub const PR_SET_MM_MAP: u32 = 14; pub const PR_SET_MM_MAP_SIZE: u32 = 15; pub const PR_SET_PTRACER: u32 = 1499557217; pub const PR_SET_CHILD_SUBREAPER: u32 = 36; pub const PR_GET_CHILD_SUBREAPER: u32 = 37; pub const PR_SET_NO_NEW_PRIVS: u32 = 38; pub const PR_GET_NO_NEW_PRIVS: u32 = 39; pub const PR_GET_TID_ADDRESS: u32 = 40; pub const PR_SET_THP_DISABLE: u32 = 41; pub const PR_GET_THP_DISABLE: u32 = 42; pub const PR_MPX_ENABLE_MANAGEMENT: u32 = 43; pub const PR_MPX_DISABLE_MANAGEMENT: u32 = 44; pub const PR_SET_FP_MODE: u32 = 45; pub const PR_GET_FP_MODE: u32 = 46; pub const PR_FP_MODE_FR: u32 = 1; pub const PR_FP_MODE_FRE: u32 = 2; pub const PR_CAP_AMBIENT: u32 = 47; pub const PR_CAP_AMBIENT_IS_SET: u32 = 1; pub const PR_CAP_AMBIENT_RAISE: u32 = 2; pub const PR_CAP_AMBIENT_LOWER: u32 = 3; pub const PR_CAP_AMBIENT_CLEAR_ALL: u32 = 4; pub const PR_SVE_SET_VL: u32 = 50; pub const PR_SVE_SET_VL_ONEXEC: u32 = 262144; pub const PR_SVE_GET_VL: u32 = 51; pub const PR_SVE_VL_LEN_MASK: u32 = 65535; pub const PR_SVE_VL_INHERIT: u32 = 131072; pub const PR_GET_SPECULATION_CTRL: u32 = 52; pub const PR_SET_SPECULATION_CTRL: u32 = 53; pub const PR_SPEC_STORE_BYPASS: u32 = 0; pub const PR_SPEC_INDIRECT_BRANCH: u32 = 1; pub const PR_SPEC_NOT_AFFECTED: u32 = 0; pub const PR_SPEC_PRCTL: u32 = 1; pub const PR_SPEC_ENABLE: u32 = 2; pub const PR_SPEC_DISABLE: u32 = 4; pub const PR_SPEC_FORCE_DISABLE: u32 = 8; pub const SVE_PT_REGS_MASK: u32 = 1; pub const SVE_PT_REGS_FPSIMD: u32 = 0; pub const SVE_PT_REGS_SVE: u32 = 1; pub const SVE_PT_VL_INHERIT: u32 = 2; pub const SVE_PT_VL_ONEXEC: u32 = 4; pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 1; pub const KVM_ARM_TARGET_AEM_V8: u32 = 0; pub const KVM_ARM_TARGET_FOUNDATION_V8: u32 = 1; pub const KVM_ARM_TARGET_CORTEX_A57: u32 = 2; pub const KVM_ARM_TARGET_XGENE_POTENZA: u32 = 3; pub const KVM_ARM_TARGET_CORTEX_A53: u32 = 4; pub const KVM_ARM_TARGET_GENERIC_V8: u32 = 5; pub const KVM_ARM_NUM_TARGETS: u32 = 6; pub const KVM_ARM_DEVICE_TYPE_SHIFT: u32 = 0; pub const KVM_ARM_DEVICE_TYPE_MASK: u32 = 65535; pub const KVM_ARM_DEVICE_ID_SHIFT: u32 = 16; pub const KVM_ARM_DEVICE_ID_MASK: u32 = 4294901760; pub const KVM_ARM_DEVICE_VGIC_V2: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_DIST: u32 = 0; pub const KVM_VGIC_V2_ADDR_TYPE_CPU: u32 = 1; pub const KVM_VGIC_V2_DIST_SIZE: u32 = 4096; pub const KVM_VGIC_V2_CPU_SIZE: u32 = 8192; pub const KVM_VGIC_V3_ADDR_TYPE_DIST: u32 = 2; pub const KVM_VGIC_V3_ADDR_TYPE_REDIST: u32 = 3; pub const KVM_VGIC_ITS_ADDR_TYPE: u32 = 4; pub const KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION: u32 = 5; pub const KVM_ARM_VCPU_POWER_OFF: u32 = 0; pub const KVM_ARM_VCPU_EL1_32BIT: u32 = 1; pub const KVM_ARM_VCPU_PSCI_0_2: u32 = 2; pub const KVM_ARM_VCPU_PMU_V3: u32 = 3; pub const KVM_ARM_MAX_DBG_REGS: u32 = 16; pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536; pub const KVM_GUESTDBG_USE_HW: u32 = 131072; pub const KVM_REG_ARM_COPROC_MASK: u32 = 268369920; pub const KVM_REG_ARM_COPROC_SHIFT: u32 = 16; pub const KVM_REG_ARM_CORE: u32 = 1048576; pub const KVM_REG_ARM_DEMUX: u32 = 1114112; pub const KVM_REG_ARM_DEMUX_ID_MASK: u32 = 65280; pub const KVM_REG_ARM_DEMUX_ID_SHIFT: u32 = 8; pub const KVM_REG_ARM_DEMUX_ID_CCSIDR: u32 = 0; pub const KVM_REG_ARM_DEMUX_VAL_MASK: u32 = 255; pub const KVM_REG_ARM_DEMUX_VAL_SHIFT: u32 = 0; pub const KVM_REG_ARM64_SYSREG: u32 = 1245184; pub const KVM_REG_ARM64_SYSREG_OP0_MASK: u32 = 49152; pub const KVM_REG_ARM64_SYSREG_OP0_SHIFT: u32 = 14; pub const KVM_REG_ARM64_SYSREG_OP1_MASK: u32 = 14336; pub const KVM_REG_ARM64_SYSREG_OP1_SHIFT: u32 = 11; pub const KVM_REG_ARM64_SYSREG_CRN_MASK: u32 = 1920; pub const KVM_REG_ARM64_SYSREG_CRN_SHIFT: u32 = 7; pub const KVM_REG_ARM64_SYSREG_CRM_MASK: u32 = 120; pub const KVM_REG_ARM64_SYSREG_CRM_SHIFT: u32 = 3; pub const KVM_REG_ARM64_SYSREG_OP2_MASK: u32 = 7; pub const KVM_REG_ARM64_SYSREG_OP2_SHIFT: u32 = 0; pub const KVM_REG_ARM_FW: u32 = 1310720; pub const KVM_DEV_ARM_VGIC_GRP_ADDR: u32 = 0; pub const KVM_DEV_ARM_VGIC_GRP_DIST_REGS: u32 = 1; pub const KVM_DEV_ARM_VGIC_GRP_CPU_REGS: u32 = 2; pub const KVM_DEV_ARM_VGIC_CPUID_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_CPUID_MASK: u64 = 1095216660480; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT: u32 = 32; pub const KVM_DEV_ARM_VGIC_V3_MPIDR_MASK: i64 = -4294967296; pub const KVM_DEV_ARM_VGIC_OFFSET_SHIFT: u32 = 0; pub const KVM_DEV_ARM_VGIC_OFFSET_MASK: u32 = 4294967295; pub const KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK: u32 = 65535; pub const KVM_DEV_ARM_VGIC_GRP_NR_IRQS: u32 = 3; pub const KVM_DEV_ARM_VGIC_GRP_CTRL: u32 = 4; pub const KVM_DEV_ARM_VGIC_GRP_REDIST_REGS: u32 = 5; pub const KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS: u32 = 6; pub const KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO: u32 = 7; pub const KVM_DEV_ARM_VGIC_GRP_ITS_REGS: u32 = 8; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT: u32 = 10; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK: u32 = 4294966272; pub const KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK: u32 = 1023; pub const VGIC_LEVEL_INFO_LINE_LEVEL: u32 = 0; pub const KVM_DEV_ARM_VGIC_CTRL_INIT: u32 = 0; pub const KVM_DEV_ARM_ITS_SAVE_TABLES: u32 = 1; pub const KVM_DEV_ARM_ITS_RESTORE_TABLES: u32 = 2; pub const KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES: u32 = 3; pub const KVM_DEV_ARM_ITS_CTRL_RESET: u32 = 4; pub const KVM_ARM_VCPU_PMU_V3_CTRL: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_IRQ: u32 = 0; pub const KVM_ARM_VCPU_PMU_V3_INIT: u32 = 1; pub const KVM_ARM_VCPU_TIMER_CTRL: u32 = 1; pub const KVM_ARM_VCPU_TIMER_IRQ_VTIMER: u32 = 0; pub const KVM_ARM_VCPU_TIMER_IRQ_PTIMER: u32 = 1; pub const KVM_ARM_IRQ_TYPE_SHIFT: u32 = 24; pub const KVM_ARM_IRQ_TYPE_MASK: u32 = 255; pub const KVM_ARM_IRQ_VCPU_SHIFT: u32 = 16; pub const KVM_ARM_IRQ_VCPU_MASK: u32 = 255; pub const KVM_ARM_IRQ_NUM_SHIFT: u32 = 0; pub const KVM_ARM_IRQ_NUM_MASK: u32 = 65535; pub const KVM_ARM_IRQ_TYPE_CPU: u32 = 0; pub const KVM_ARM_IRQ_TYPE_SPI: u32 = 1; pub const KVM_ARM_IRQ_TYPE_PPI: u32 = 2; pub const KVM_ARM_IRQ_CPU_IRQ: u32 = 0; pub const KVM_ARM_IRQ_CPU_FIQ: u32 = 1; pub const KVM_ARM_IRQ_GIC_MAX: u32 = 127; pub const KVM_NR_IRQCHIPS: u32 = 1; pub const KVM_PSCI_FN_BASE: u32 = 2512501342; pub const KVM_PSCI_RET_SUCCESS: u32 = 0; pub const KVM_PSCI_RET_NI: i32 = -1; pub const KVM_PSCI_RET_INVAL: i32 = -2; pub const KVM_PSCI_RET_DENIED: i32 = -3; pub const KVM_API_VERSION: u32 = 12; pub const KVM_TRC_SHIFT: u32 = 16; pub const KVM_TRC_ENTRYEXIT: u32 = 65536; pub const KVM_TRC_HANDLER: u32 = 131072; pub const KVM_TRC_VMENTRY: u32 = 65537; pub const KVM_TRC_VMEXIT: u32 = 65538; pub const KVM_TRC_PAGE_FAULT: u32 = 131073; pub const KVM_TRC_HEAD_SIZE: u32 = 12; pub const KVM_TRC_CYCLE_SIZE: u32 = 8; pub const KVM_TRC_EXTRA_MAX: u32 = 7; pub const KVM_TRC_INJ_VIRQ: u32 = 131074; pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; pub const KVM_TRC_PEND_INTR: u32 = 131076; pub const KVM_TRC_IO_READ: u32 = 131077; pub const KVM_TRC_IO_WRITE: u32 = 131078; pub const KVM_TRC_CR_READ: u32 = 131079; pub const KVM_TRC_CR_WRITE: u32 = 131080; pub const KVM_TRC_DR_READ: u32 = 131081; pub const KVM_TRC_DR_WRITE: u32 = 131082; pub const KVM_TRC_MSR_READ: u32 = 131083; pub const KVM_TRC_MSR_WRITE: u32 = 131084; pub const KVM_TRC_CPUID: u32 = 131085; pub const KVM_TRC_INTR: u32 = 131086; pub const KVM_TRC_NMI: u32 = 131087; pub const KVM_TRC_VMMCALL: u32 = 131088; pub const KVM_TRC_HLT: u32 = 131089; pub const KVM_TRC_CLTS: u32 = 131090; pub const KVM_TRC_LMSW: u32 = 131091; pub const KVM_TRC_APIC_ACCESS: u32 = 131092; pub const KVM_TRC_TDP_FAULT: u32 = 131093; pub const KVM_TRC_GTLB_WRITE: u32 = 131094; pub const KVM_TRC_STLB_WRITE: u32 = 131095; pub const KVM_TRC_STLB_INVAL: u32 = 131096; pub const KVM_TRC_PPC_INSTR: u32 = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; pub const KVM_MEM_READONLY: u32 = 2; pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; pub const KVM_S390_CMMA_PEEK: u32 = 1; pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; pub const KVM_S390_SKEYS_MAX: u32 = 1048576; pub const KVM_EXIT_UNKNOWN: u32 = 0; pub const KVM_EXIT_EXCEPTION: u32 = 1; pub const KVM_EXIT_IO: u32 = 2; pub const KVM_EXIT_HYPERCALL: u32 = 3; pub const KVM_EXIT_DEBUG: u32 = 4; pub const KVM_EXIT_HLT: u32 = 5; pub const KVM_EXIT_MMIO: u32 = 6; pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; pub const KVM_EXIT_SHUTDOWN: u32 = 8; pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; pub const KVM_EXIT_INTR: u32 = 10; pub const KVM_EXIT_SET_TPR: u32 = 11; pub const KVM_EXIT_TPR_ACCESS: u32 = 12; pub const KVM_EXIT_S390_SIEIC: u32 = 13; pub const KVM_EXIT_S390_RESET: u32 = 14; pub const KVM_EXIT_DCR: u32 = 15; pub const KVM_EXIT_NMI: u32 = 16; pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; pub const KVM_EXIT_OSI: u32 = 18; pub const KVM_EXIT_PAPR_HCALL: u32 = 19; pub const KVM_EXIT_S390_UCONTROL: u32 = 20; pub const KVM_EXIT_WATCHDOG: u32 = 21; pub const KVM_EXIT_S390_TSCH: u32 = 22; pub const KVM_EXIT_EPR: u32 = 23; pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; pub const KVM_EXIT_S390_STSI: u32 = 25; pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; pub const KVM_EXIT_HYPERV: u32 = 27; pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; pub const KVM_EXIT_IO_IN: u32 = 0; pub const KVM_EXIT_IO_OUT: u32 = 1; pub const KVM_S390_RESET_POR: u32 = 1; pub const KVM_S390_RESET_CLEAR: u32 = 2; pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; pub const KVM_S390_RESET_CPU_INIT: u32 = 8; pub const KVM_S390_RESET_IPL: u32 = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; pub const SYNC_REGS_SIZE_BYTES: u32 = 2048; pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; pub const KVM_MP_STATE_RUNNABLE: u32 = 0; pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; pub const KVM_MP_STATE_HALTED: u32 = 3; pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; pub const KVM_MP_STATE_STOPPED: u32 = 5; pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; pub const KVM_MP_STATE_OPERATING: u32 = 7; pub const KVM_MP_STATE_LOAD: u32 = 8; pub const KVM_S390_SIGP_STOP: u32 = 4294836224; pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; pub const KVM_S390_RESTART: u32 = 4294836227; pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; pub const KVM_S390_MCHK: u32 = 4294840320; pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; pub const KVM_S390_INT_SERVICE: u32 = 4294910977; pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; pub const KVM_S390_INT_IO_MIN: u32 = 0; pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; pub const KVM_GUESTDBG_ENABLE: u32 = 1; pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; pub const KVM_X86_DISABLE_EXITS_MWAIT: u32 = 1; pub const KVM_X86_DISABLE_EXITS_HLT: u32 = 2; pub const KVM_X86_DISABLE_EXITS_PAUSE: u32 = 4; pub const KVM_X86_DISABLE_VALID_EXITS: u32 = 7; pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; pub const KVM_PPC_1T_SEGMENTS: u32 = 2; pub const KVM_PPC_NO_HASH: u32 = 4; pub const KVMIO: u32 = 174; pub const KVM_VM_S390_UCONTROL: u32 = 1; pub const KVM_VM_PPC_HV: u32 = 1; pub const KVM_VM_PPC_PR: u32 = 2; pub const KVM_VM_MIPS_TE: u32 = 0; pub const KVM_VM_MIPS_VZ: u32 = 1; pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; pub const KVM_VM_TYPE_ARM_IPA_SIZE_MASK: u32 = 255; pub const KVM_CAP_IRQCHIP: u32 = 0; pub const KVM_CAP_HLT: u32 = 1; pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; pub const KVM_CAP_USER_MEMORY: u32 = 3; pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; pub const KVM_CAP_VAPIC: u32 = 6; pub const KVM_CAP_EXT_CPUID: u32 = 7; pub const KVM_CAP_CLOCKSOURCE: u32 = 8; pub const KVM_CAP_NR_VCPUS: u32 = 9; pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; pub const KVM_CAP_PIT: u32 = 11; pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; pub const KVM_CAP_PV_MMU: u32 = 13; pub const KVM_CAP_MP_STATE: u32 = 14; pub const KVM_CAP_COALESCED_MMIO: u32 = 15; pub const KVM_CAP_SYNC_MMU: u32 = 16; pub const KVM_CAP_IOMMU: u32 = 18; pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; pub const KVM_CAP_USER_NMI: u32 = 22; pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; pub const KVM_CAP_IRQ_ROUTING: u32 = 25; pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; pub const KVM_CAP_IRQFD: u32 = 32; pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; pub const KVM_CAP_IOEVENTFD: u32 = 36; pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; pub const KVM_CAP_VCPU_EVENTS: u32 = 41; pub const KVM_CAP_S390_PSW: u32 = 42; pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; pub const KVM_CAP_HYPERV: u32 = 44; pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; pub const KVM_CAP_HYPERV_SPIN: u32 = 46; pub const KVM_CAP_PCI_SEGMENT: u32 = 47; pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; pub const KVM_CAP_INTR_SHADOW: u32 = 49; pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; pub const KVM_CAP_PPC_OSI: u32 = 52; pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; pub const KVM_CAP_ENABLE_CAP: u32 = 54; pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; pub const KVM_CAP_ASYNC_PF: u32 = 59; pub const KVM_CAP_TSC_CONTROL: u32 = 60; pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; pub const KVM_CAP_SPAPR_TCE: u32 = 63; pub const KVM_CAP_PPC_SMT: u32 = 64; pub const KVM_CAP_PPC_RMA: u32 = 65; pub const KVM_CAP_MAX_VCPUS: u32 = 66; pub const KVM_CAP_PPC_HIOR: u32 = 67; pub const KVM_CAP_PPC_PAPR: u32 = 68; pub const KVM_CAP_SW_TLB: u32 = 69; pub const KVM_CAP_ONE_REG: u32 = 70; pub const KVM_CAP_S390_GMAP: u32 = 71; pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; pub const KVM_CAP_S390_UCONTROL: u32 = 73; pub const KVM_CAP_SYNC_REGS: u32 = 74; pub const KVM_CAP_PCI_2_3: u32 = 75; pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; pub const KVM_CAP_SIGNAL_MSI: u32 = 77; pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; pub const KVM_CAP_S390_COW: u32 = 79; pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; pub const KVM_CAP_READONLY_MEM: u32 = 81; pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; pub const KVM_CAP_PPC_EPR: u32 = 86; pub const KVM_CAP_ARM_PSCI: u32 = 87; pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; pub const KVM_CAP_DEVICE_CTRL: u32 = 89; pub const KVM_CAP_IRQ_MPIC: u32 = 90; pub const KVM_CAP_PPC_RTAS: u32 = 91; pub const KVM_CAP_IRQ_XICS: u32 = 92; pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; pub const KVM_CAP_HYPERV_TIME: u32 = 96; pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; pub const KVM_CAP_S390_IRQCHIP: u32 = 99; pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; pub const KVM_CAP_S390_USER_SIGP: u32 = 106; pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; pub const KVM_CAP_S390_MEM_OP: u32 = 108; pub const KVM_CAP_S390_USER_STSI: u32 = 109; pub const KVM_CAP_S390_SKEYS: u32 = 110; pub const KVM_CAP_MIPS_FPU: u32 = 111; pub const KVM_CAP_MIPS_MSA: u32 = 112; pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; pub const KVM_CAP_PPC_HWRNG: u32 = 115; pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; pub const KVM_CAP_X86_SMM: u32 = 117; pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; pub const KVM_CAP_S390_RI: u32 = 124; pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; pub const KVM_CAP_ARM_PMU_V3: u32 = 126; pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; pub const KVM_CAP_X2APIC_API: u32 = 129; pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; pub const KVM_CAP_MSI_DEVID: u32 = 131; pub const KVM_CAP_PPC_HTM: u32 = 132; pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; pub const KVM_CAP_MIPS_VZ: u32 = 137; pub const KVM_CAP_MIPS_TE: u32 = 138; pub const KVM_CAP_MIPS_64BIT: u32 = 139; pub const KVM_CAP_S390_GS: u32 = 140; pub const KVM_CAP_S390_AIS: u32 = 141; pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; pub const KVM_CAP_X86_DISABLE_EXITS: u32 = 143; pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; pub const KVM_CAP_PPC_FWNMI: u32 = 146; pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; pub const KVM_CAP_S390_AIS_MIGRATION: u32 = 150; pub const KVM_CAP_PPC_GET_CPU_CHAR: u32 = 151; pub const KVM_CAP_S390_BPB: u32 = 152; pub const KVM_CAP_GET_MSR_FEATURES: u32 = 153; pub const KVM_CAP_HYPERV_EVENTFD: u32 = 154; pub const KVM_CAP_HYPERV_TLBFLUSH: u32 = 155; pub const KVM_CAP_S390_HPAGE_1M: u32 = 156; pub const KVM_CAP_NESTED_STATE: u32 = 157; pub const KVM_CAP_ARM_INJECT_SERROR_ESR: u32 = 158; pub const KVM_CAP_MSR_PLATFORM_INFO: u32 = 159; pub const KVM_CAP_PPC_NESTED_HV: u32 = 160; pub const KVM_CAP_HYPERV_SEND_IPI: u32 = 161; pub const KVM_CAP_COALESCED_PIO: u32 = 162; pub const KVM_CAP_HYPERV_ENLIGHTENED_VMCS: u32 = 163; pub const KVM_CAP_EXCEPTION_PAYLOAD: u32 = 164; pub const KVM_CAP_ARM_VM_IPA_SIZE: u32 = 165; pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; pub const KVM_IRQ_ROUTING_MSI: u32 = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; pub const KVM_CLOCK_TSC_STABLE: u32 = 2; pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; pub const KVM_REG_GENERIC: u32 = 0; pub const KVM_REG_PPC: u64 = 1152921504606846976; pub const KVM_REG_X86: u64 = 2305843009213693952; pub const KVM_REG_IA64: u64 = 3458764513820540928; pub const KVM_REG_ARM: u64 = 4611686018427387904; pub const KVM_REG_S390: u64 = 5764607523034234880; pub const KVM_REG_ARM64: u64 = 6917529027641081856; pub const KVM_REG_MIPS: u64 = 8070450532247928832; pub const KVM_REG_SIZE_SHIFT: u32 = 52; pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; pub const KVM_REG_SIZE_U8: u32 = 0; pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; pub const KVM_MSI_VALID_DEVID: u32 = 1; pub const KVM_CREATE_DEVICE_TEST: u32 = 1; pub const KVM_DEV_VFIO_GROUP: u32 = 1; pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; pub const KVM_ARM_DEV_PMU: u32 = 4; pub const KVM_HYPERV_CONN_ID_MASK: u32 = 16777215; pub const KVM_HYPERV_EVENTFD_DEASSIGN: u32 = 1; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_mode_t = ::std::os::raw::c_uint; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; pub type __kernel_uid_t = ::std::os::raw::c_uint; pub type __kernel_gid_t = ::std::os::raw::c_uint; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::c_uint; pub type __kernel_old_dev_t = ::std::os::raw::c_uint; pub type __kernel_size_t = __kernel_ulong_t; pub type __kernel_ssize_t = __kernel_long_t; pub type __kernel_ptrdiff_t = __kernel_long_t; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_time64_t = ::std::os::raw::c_longlong; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::c_ushort; pub type __le16 = __u16; pub type __be16 = __u16; pub type __le32 = __u32; pub type __be32 = __u32; pub type __le64 = __u64; pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; pub type __poll_t = ::std::os::raw::c_uint; #[repr(C)] #[derive(Copy, Clone)] pub struct sigcontext { pub fault_address: __u64, pub regs: [__u64; 31usize], pub sp: __u64, pub pc: __u64, pub pstate: __u64, pub __bindgen_padding_0: [u8; 8usize], pub __reserved: [__u8; 4096usize], } #[test] fn bindgen_test_layout_sigcontext() { assert_eq!( ::std::mem::size_of::(), 4384usize, concat!("Size of: ", stringify!(sigcontext)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fault_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(sigcontext), "::", stringify!(fault_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(sigcontext), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sp as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(sigcontext), "::", stringify!(sp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pc as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(sigcontext), "::", stringify!(pc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pstate as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(sigcontext), "::", stringify!(pstate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(sigcontext), "::", stringify!(__reserved) ) ); } impl Default for sigcontext { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct _aarch64_ctx { pub magic: __u32, pub size: __u32, } #[test] fn bindgen_test_layout__aarch64_ctx() { assert_eq!( ::std::mem::size_of::<_aarch64_ctx>(), 8usize, concat!("Size of: ", stringify!(_aarch64_ctx)) ); assert_eq!( ::std::mem::align_of::<_aarch64_ctx>(), 4usize, concat!("Alignment of ", stringify!(_aarch64_ctx)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_aarch64_ctx>())).magic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(_aarch64_ctx), "::", stringify!(magic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::<_aarch64_ctx>())).size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(_aarch64_ctx), "::", stringify!(size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct fpsimd_context { pub head: _aarch64_ctx, pub fpsr: __u32, pub fpcr: __u32, pub vregs: [__uint128_t; 32usize], } #[test] fn bindgen_test_layout_fpsimd_context() { assert_eq!( ::std::mem::size_of::(), 528usize, concat!("Size of: ", stringify!(fpsimd_context)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).head as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(fpsimd_context), "::", stringify!(head) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpsr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(fpsimd_context), "::", stringify!(fpsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpcr as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(fpsimd_context), "::", stringify!(fpcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vregs as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(fpsimd_context), "::", stringify!(vregs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct esr_context { pub head: _aarch64_ctx, pub esr: __u64, } #[test] fn bindgen_test_layout_esr_context() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(esr_context)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(esr_context)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).head as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(esr_context), "::", stringify!(head) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).esr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(esr_context), "::", stringify!(esr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct extra_context { pub head: _aarch64_ctx, pub datap: __u64, pub size: __u32, pub __reserved: [__u32; 3usize], } #[test] fn bindgen_test_layout_extra_context() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(extra_context)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(extra_context)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).head as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(extra_context), "::", stringify!(head) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datap as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(extra_context), "::", stringify!(datap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(extra_context), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(extra_context), "::", stringify!(__reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct sve_context { pub head: _aarch64_ctx, pub vl: __u16, pub __reserved: [__u16; 3usize], } #[test] fn bindgen_test_layout_sve_context() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(sve_context)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(sve_context)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).head as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(sve_context), "::", stringify!(head) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(sve_context), "::", stringify!(vl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(sve_context), "::", stringify!(__reserved) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone, PartialEq)] pub struct prctl_mm_map { pub start_code: __u64, pub end_code: __u64, pub start_data: __u64, pub end_data: __u64, pub start_brk: __u64, pub brk: __u64, pub start_stack: __u64, pub arg_start: __u64, pub arg_end: __u64, pub env_start: __u64, pub env_end: __u64, pub auxv: *mut __u64, pub auxv_size: __u32, pub exe_fd: __u32, } #[test] fn bindgen_test_layout_prctl_mm_map() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(prctl_mm_map)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(prctl_mm_map)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(start_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).end_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(end_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(start_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).end_data as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(end_data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_brk as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(start_brk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).brk as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(brk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_stack as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(start_stack) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arg_start as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(arg_start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arg_end as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(arg_end) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).env_start as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(env_start) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).env_end as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(env_end) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).auxv as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(auxv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).auxv_size as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(auxv_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exe_fd as *const _ as usize }, 100usize, concat!( "Offset of field: ", stringify!(prctl_mm_map), "::", stringify!(exe_fd) ) ); } impl Default for prctl_mm_map { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_pt_regs { pub regs: [__u64; 31usize], pub sp: __u64, pub pc: __u64, pub pstate: __u64, } #[test] fn bindgen_test_layout_user_pt_regs() { assert_eq!( ::std::mem::size_of::(), 272usize, concat!("Size of: ", stringify!(user_pt_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(user_pt_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sp as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(sp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pc as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(pc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pstate as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(user_pt_regs), "::", stringify!(pstate) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_fpsimd_state { pub vregs: [__uint128_t; 32usize], pub fpsr: __u32, pub fpcr: __u32, pub __reserved: [__u32; 2usize], } #[test] fn bindgen_test_layout_user_fpsimd_state() { assert_eq!( ::std::mem::size_of::(), 528usize, concat!("Size of: ", stringify!(user_fpsimd_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vregs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(vregs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpsr as *const _ as usize }, 512usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(fpsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpcr as *const _ as usize }, 516usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(fpcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 520usize, concat!( "Offset of field: ", stringify!(user_fpsimd_state), "::", stringify!(__reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_hwdebug_state { pub dbg_info: __u32, pub pad: __u32, pub dbg_regs: [user_hwdebug_state__bindgen_ty_1; 16usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_hwdebug_state__bindgen_ty_1 { pub addr: __u64, pub ctrl: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_user_hwdebug_state__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(user_hwdebug_state__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(user_hwdebug_state__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state__bindgen_ty_1), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ctrl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state__bindgen_ty_1), "::", stringify!(ctrl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state__bindgen_ty_1), "::", stringify!(pad) ) ); } #[test] fn bindgen_test_layout_user_hwdebug_state() { assert_eq!( ::std::mem::size_of::(), 264usize, concat!("Size of: ", stringify!(user_hwdebug_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(user_hwdebug_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_info as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state), "::", stringify!(dbg_info) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_regs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(user_hwdebug_state), "::", stringify!(dbg_regs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct user_sve_header { pub size: __u32, pub max_size: __u32, pub vl: __u16, pub max_vl: __u16, pub flags: __u16, pub __reserved: __u16, } #[test] fn bindgen_test_layout_user_sve_header() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(user_sve_header)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(user_sve_header)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(user_sve_header), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).max_size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(user_sve_header), "::", stringify!(max_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vl as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(user_sve_header), "::", stringify!(vl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).max_vl as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(user_sve_header), "::", stringify!(max_vl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(user_sve_header), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).__reserved as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(user_sve_header), "::", stringify!(__reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_regs { pub regs: user_pt_regs, pub sp_el1: __u64, pub elr_el1: __u64, pub spsr: [__u64; 5usize], pub __bindgen_padding_0: u64, pub fp_regs: user_fpsimd_state, } #[test] fn bindgen_test_layout_kvm_regs() { assert_eq!( ::std::mem::size_of::(), 864usize, concat!("Size of: ", stringify!(kvm_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sp_el1 as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(sp_el1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elr_el1 as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(elr_el1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).spsr as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(spsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fp_regs as *const _ as usize }, 336usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(fp_regs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_init { pub target: __u32, pub features: [__u32; 7usize], } #[test] fn bindgen_test_layout_kvm_vcpu_init() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_vcpu_init)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_init)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).target as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(target) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).features as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_init), "::", stringify!(features) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sregs {} #[test] fn bindgen_test_layout_kvm_sregs() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_sregs)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_sregs)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_fpu {} #[test] fn bindgen_test_layout_kvm_fpu() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_fpu)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_fpu)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug_arch { pub dbg_bcr: [__u64; 16usize], pub dbg_bvr: [__u64; 16usize], pub dbg_wcr: [__u64; 16usize], pub dbg_wvr: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_bcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_bcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_bvr as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_bvr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_wcr as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_wcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dbg_wvr as *const _ as usize }, 384usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(dbg_wvr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_exit_arch { pub hsr: __u32, pub far: __u64, } #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hsr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(hsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).far as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(far) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sync_regs { pub device_irq_level: __u64, } #[test] fn bindgen_test_layout_kvm_sync_regs() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_sync_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sync_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).device_irq_level as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(device_irq_level) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arch_memory_slot {} #[test] fn bindgen_test_layout_kvm_arch_memory_slot() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_arch_memory_slot)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_arch_memory_slot)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events { pub exception: kvm_vcpu_events__bindgen_ty_1, pub reserved: [__u32; 12usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_1 { pub serror_pending: __u8, pub serror_has_esr: __u8, pub pad: [__u8; 6usize], pub serror_esr: __u64, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).serror_pending as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(serror_pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).serror_has_esr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(serror_has_esr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).serror_esr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(serror_esr) ) ); } #[test] fn bindgen_test_layout_kvm_vcpu_events() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_vcpu_events)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vcpu_events)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_user_trace_setup)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_user_trace_setup)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_nr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, pub address: __u64, } #[test] fn bindgen_test_layout_kvm_breakpoint() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_breakpoint)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_breakpoint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, pub breakpoints: [kvm_breakpoint; 4usize], pub singlestep: __u32, } #[test] fn bindgen_test_layout_kvm_debug_guest() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(kvm_debug_guest)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_guest)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).breakpoints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(breakpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).singlestep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(singlestep) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, } #[test] fn bindgen_test_layout_kvm_memory_region() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(memory_size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub userspace_addr: __u64, } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userspace_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(userspace_addr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_level__bindgen_ty_1 { pub irq: __u32, pub status: __s32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(status) ) ); } impl Default for kvm_irq_level__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_level() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_level)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_level), "::", stringify!(level) ) ); } impl Default for kvm_irq_level { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irqchip__bindgen_ty_1 { pub dummy: [::std::os::raw::c_char; 512usize], _bindgen_union_align: [u8; 512usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(dummy) ) ); } impl Default for kvm_irqchip__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irqchip() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip) ) ); } impl Default for kvm_irqchip { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_pit_config)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_pit_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_skeys { pub start_gfn: __u64, pub count: __u64, pub skeydata_addr: __u64, pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_s390_skeys() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_skeys)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_skeys)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).skeydata_addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(skeydata_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(reserved) ) ); } #[doc = " kvm_s390_cmma_log - Used for CMMA migration."] #[doc = ""] #[doc = " Used both for input and output."] #[doc = ""] #[doc = " @start_gfn: Guest page number to start from."] #[doc = " @count: Size of the result buffer."] #[doc = " @flags: Control operation mode via KVM_S390_CMMA_* flags"] #[doc = " @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty"] #[doc = " pages are still remaining."] #[doc = " @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set"] #[doc = " in the PGSTE."] #[doc = " @values: Pointer to the values buffer."] #[doc = ""] #[doc = " Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls."] #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_cmma_log { pub start_gfn: __u64, pub count: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, pub values: __u64, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_cmma_log__bindgen_ty_1 { pub remaining: __u64, pub mask: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_s390_cmma_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remaining as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(mask) ) ); } impl Default for kvm_s390_cmma_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_cmma_log() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).values as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(values) ) ); } impl Default for kvm_s390_cmma_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_hyperv_exit { pub type_: __u32, pub u: kvm_hyperv_exit__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_hyperv_exit__bindgen_ty_1 { pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, _bindgen_union_align: [u64; 4usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { pub msr: __u32, pub control: __u64, pub evt_page: __u64, pub msg_page: __u64, } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).evt_page as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(evt_page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_page as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msg_page) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { pub input: __u64, pub result: __u64, pub params: [__u64; 2usize], } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(input) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).result as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(result) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(params) ) ); } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).synic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(synic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(hcall) ) ); } impl Default for kvm_hyperv_exit__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_hyperv_exit() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_hyperv_exit)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(u) ) ); } impl Default for kvm_hyperv_exit { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub immediate_exit: __u8, pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, pub kvm_valid_regs: __u64, pub kvm_dirty_regs: __u64, pub s: kvm_run__bindgen_ty_2, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_1 { pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, pub s390_reset_flags: __u64, pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, pub hyperv: kvm_hyperv_exit, pub padding: [::std::os::raw::c_char; 256usize], _bindgen_union_align: [u64; 32usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hardware_exit_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hardware_exit_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hardware_entry_failure_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hardware_entry_failure_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, pub port: __u16, pub count: __u32, pub data_offset: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).direction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(direction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(data_offset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), "::", stringify!(arch) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], pub len: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], pub ret: __u64, pub longmode: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).longmode as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(longmode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(is_write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, pub ipb: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).icptcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(icptcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipa as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipb) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(pgm_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcrn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(dcrn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, pub data: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).suberror as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(suberror) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ndata as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(ndata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gprs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), "::", stringify!(gprs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, pub args: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { assert_eq!( ::std::mem::size_of::(), 88usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(args) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, pub ipb: __u32, pub dequeued: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_word) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(ipb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dequeued as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(dequeued) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), "::", stringify!(epr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { pub addr: __u64, pub ar: __u8, pub reserved: __u8, pub fc: __u8, pub sel1: __u8, pub sel2: __u16, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(fc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel1 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { pub vector: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), "::", stringify!(vector) ) ); } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hw as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fail_entry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(fail_entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(ex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(debug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(mmio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hypercall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hypercall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tpr_access as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(tpr_access) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_sieic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_sieic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_reset_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_reset_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_ucontrol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_ucontrol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(dcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).osi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(osi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).papr_hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(papr_hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_tsch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_tsch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(epr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).system_event as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(system_event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_stsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_stsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eoi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hyperv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hyperv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_2 { pub regs: kvm_sync_regs, pub padding: [::std::os::raw::c_char; 2048usize], _bindgen_union_align: [u64; 256usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_run() { assert_eq!( ::std::mem::size_of::(), 2352usize, concat!("Size of: ", stringify!(kvm_run)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).request_interrupt_window as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(request_interrupt_window) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(immediate_exit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(padding1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exit_reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(exit_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ready_for_interrupt_injection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(ready_for_interrupt_injection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).if_flag as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(if_flag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_valid_regs as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_valid_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_dirty_regs as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_dirty_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(s) ) ); } impl Default for kvm_run { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, pub __bindgen_anon_1: kvm_coalesced_mmio_zone__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_coalesced_mmio_zone__bindgen_ty_1 { pub pad: __u32, pub pio: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1), "::", stringify!(pio) ) ); } impl Default for kvm_coalesced_mmio_zone__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(size) ) ); } impl Default for kvm_coalesced_mmio_zone { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, pub __bindgen_anon_1: kvm_coalesced_mmio__bindgen_ty_1, pub data: [__u8; 8usize], } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_coalesced_mmio__bindgen_ty_1 { pub pad: __u32, pub pio: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_coalesced_mmio__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1), "::", stringify!(pio) ) ); } impl Default for kvm_coalesced_mmio__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(data) ) ); } impl Default for kvm_coalesced_mmio { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).first as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(first) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(last) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).coalesced_mmio as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(coalesced_mmio) ) ); } impl Default for kvm_coalesced_mmio_ring { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, pub valid: __u8, pub writeable: __u8, pub usermode: __u8, pub pad: [__u8; 5usize], } #[test] fn bindgen_test_layout_kvm_translation() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_translation)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_translation)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).linear_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(linear_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physical_address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(physical_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(valid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).writeable as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(writeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usermode as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(usermode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mem_op { pub gaddr: __u64, pub flags: __u64, pub size: __u32, pub op: __u32, pub buf: __u64, pub ar: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_s390_mem_op() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_mem_op)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mem_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(gaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_interrupt), "::", stringify!(irq) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_dirty_log__bindgen_ty_1 { pub dirty_bitmap: *mut ::std::os::raw::c_void, pub padding2: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dirty_bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(dirty_bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(padding2) ) ); } impl Default for kvm_dirty_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_dirty_log() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(padding1) ) ); } impl Default for kvm_dirty_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_signal_mask)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_signal_mask)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(sigset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, pub reserved: [__u32; 8usize], } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vapic_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vapic_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vapic_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vapic_addr), "::", stringify!(vapic_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_mp_state)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_mp_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mp_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_mp_state), "::", stringify!(mp_state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_psw)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_psw)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, pub parm64: __u64, } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm64 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm64) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, } #[test] fn bindgen_test_layout_kvm_s390_io_info() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_s390_io_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_io_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_word) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, pub ext_params2: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_ext_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ext_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, pub per_address: __u64, pub data_exc_code: __u32, pub code: __u16, pub mon_class_nr: __u16, pub per_code: __u8, pub per_atmid: __u8, pub exc_access_id: __u8, pub per_access_id: __u8, pub op_access_id: __u8, pub flags: __u8, pub pad: [__u8; 2usize], } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_exc_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(data_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_class_nr as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_class_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_code as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_atmid as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_atmid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exc_access_id as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(exc_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_access_id as *const _ as usize }, 35usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op_access_id as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(op_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 37usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_prefix_info), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_extcall_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_emerg_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_stop_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_stop_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_stop_info), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, pub failing_storage_address: __u64, pub ext_damage_code: __u32, pub pad: __u32, pub fixed_logout: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr14 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(cr14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(mcic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).failing_storage_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(failing_storage_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_damage_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(ext_damage_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fixed_logout as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(fixed_logout) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_irq__bindgen_ty_1 { pub io: kvm_s390_io_info, pub ext: kvm_s390_ext_info, pub pgm: kvm_s390_pgm_info, pub emerg: kvm_s390_emerg_info, pub extcall: kvm_s390_extcall_info, pub prefix: kvm_s390_prefix_info, pub stop: kvm_s390_stop_info, pub mchk: kvm_s390_mchk_info, pub reserved: [::std::os::raw::c_char; 64usize], _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(ext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(pgm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emerg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(emerg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(extcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mchk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(mchk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_s390_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_irq() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_s390_irq)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(u) ) ); } impl Default for kvm_s390_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_irq_state { pub buf: __u64, pub flags: __u32, pub len: __u32, pub reserved: [__u32; 4usize], } #[test] fn bindgen_test_layout_kvm_s390_irq_state() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_irq_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, pub arch: kvm_guest_debug_arch, } #[test] fn bindgen_test_layout_kvm_guest_debug() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_guest_debug)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(arch) ) ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2; pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3; pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = u32; #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, pub len: __u32, pub fd: __s32, pub flags: __u32, pub pad: [__u8; 36usize], } #[test] fn bindgen_test_layout_kvm_ioeventfd() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_ioeventfd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioeventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datamatch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(datamatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(pad) ) ); } impl Default for kvm_ioeventfd { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, pub args: [__u64; 4usize], pub pad: [__u8; 64usize], } #[test] fn bindgen_test_layout_kvm_enable_cap() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(kvm_enable_cap)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enable_cap)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(cap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(pad) ) ); } impl Default for kvm_enable_cap { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], pub pad: [__u8; 108usize], } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(pad) ) ); } impl Default for kvm_ppc_pvinfo { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pte_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(pte_enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, pub enc: [kvm_ppc_one_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(slb_enc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, pub data_keys: __u16, pub instr_keys: __u16, pub sps: [kvm_ppc_one_seg_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { assert_eq!( ::std::mem::size_of::(), 592usize, concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(slb_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_keys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(data_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).instr_keys as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(instr_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(sps) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_resize_hpt { pub flags: __u64, pub shift: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_resize_hpt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shift as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(pin) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_msi__bindgen_ty_1 { pub pad: __u32, pub devid: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_msi__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_msi__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(devid) ) ); } impl Default for kvm_irq_routing_msi__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(data) ) ); } impl Default for kvm_irq_routing_msi { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, pub ind_offset: __u64, pub summary_offset: __u32, pub adapter_id: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter_id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(adapter_id) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_hv_sint { pub vcpu: __u32, pub sint: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_hv_sint() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(vcpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(sint) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, pub flags: __u32, pub pad: __u32, pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_entry__bindgen_ty_1 { pub irqchip: kvm_irq_routing_irqchip, pub msi: kvm_irq_routing_msi, pub adapter: kvm_irq_routing_s390_adapter, pub hv_sint: kvm_irq_routing_hv_sint, pub pad: [__u32; 8usize], _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_entry__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(msi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hv_sint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(hv_sint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_irq_routing_entry__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(u) ) ); } impl Default for kvm_irq_routing_entry { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_irq_routing() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(entries) ) ); } impl Default for kvm_irq_routing { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, pub flags: __u32, pub resamplefd: __u32, pub pad: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_irqfd() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irqfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resamplefd as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(resamplefd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, pub pad: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_clock_data() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_clock_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_clock_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(clock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, pub mmu_type: __u32, pub array_len: __u32, } #[test] fn bindgen_test_layout_kvm_config_tlb() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_config_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_config_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmu_type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(mmu_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array_len as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_dirty as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(num_dirty) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_reg_list)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_reg_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(reg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_one_reg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_one_reg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub flags: __u32, pub devid: __u32, pub pad: [__u8; 12usize], } #[test] fn bindgen_test_layout_kvm_msi() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_arm_device_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_arm_device_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_create_device() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_create_device)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_create_device)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, pub attr: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_device_attr() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_device_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_device_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).group as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(attr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(addr) ) ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 9; pub type kvm_device_type = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vfio_spapr_tce { pub groupfd: __s32, pub tablefd: __s32, } #[test] fn bindgen_test_layout_kvm_vfio_spapr_tce() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).groupfd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(groupfd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tablefd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(tablefd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, pub length: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(user_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(vcpu_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(length) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_enc_region { pub addr: __u64, pub size: __u64, } #[test] fn bindgen_test_layout_kvm_enc_region() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_enc_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enc_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enc_region), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enc_region), "::", stringify!(size) ) ); } pub const sev_cmd_id_KVM_SEV_INIT: sev_cmd_id = 0; pub const sev_cmd_id_KVM_SEV_ES_INIT: sev_cmd_id = 1; pub const sev_cmd_id_KVM_SEV_LAUNCH_START: sev_cmd_id = 2; pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_DATA: sev_cmd_id = 3; pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_VMSA: sev_cmd_id = 4; pub const sev_cmd_id_KVM_SEV_LAUNCH_SECRET: sev_cmd_id = 5; pub const sev_cmd_id_KVM_SEV_LAUNCH_MEASURE: sev_cmd_id = 6; pub const sev_cmd_id_KVM_SEV_LAUNCH_FINISH: sev_cmd_id = 7; pub const sev_cmd_id_KVM_SEV_SEND_START: sev_cmd_id = 8; pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_DATA: sev_cmd_id = 9; pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_VMSA: sev_cmd_id = 10; pub const sev_cmd_id_KVM_SEV_SEND_FINISH: sev_cmd_id = 11; pub const sev_cmd_id_KVM_SEV_RECEIVE_START: sev_cmd_id = 12; pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_DATA: sev_cmd_id = 13; pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_VMSA: sev_cmd_id = 14; pub const sev_cmd_id_KVM_SEV_RECEIVE_FINISH: sev_cmd_id = 15; pub const sev_cmd_id_KVM_SEV_GUEST_STATUS: sev_cmd_id = 16; pub const sev_cmd_id_KVM_SEV_DBG_DECRYPT: sev_cmd_id = 17; pub const sev_cmd_id_KVM_SEV_DBG_ENCRYPT: sev_cmd_id = 18; pub const sev_cmd_id_KVM_SEV_CERT_EXPORT: sev_cmd_id = 19; pub const sev_cmd_id_KVM_SEV_NR_MAX: sev_cmd_id = 20; pub type sev_cmd_id = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_cmd { pub id: __u32, pub data: __u64, pub error: __u32, pub sev_fd: __u32, } #[test] fn bindgen_test_layout_kvm_sev_cmd() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_sev_cmd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_cmd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(error) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sev_fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(sev_fd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_start { pub handle: __u32, pub policy: __u32, pub dh_uaddr: __u64, pub dh_len: __u32, pub session_uaddr: __u64, pub session_len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_start() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_sev_launch_start)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_start)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(policy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dh_uaddr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(dh_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dh_len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(dh_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).session_uaddr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(session_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).session_len as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(session_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_update_data { pub uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_update_data() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_sev_launch_update_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_update_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_update_data), "::", stringify!(uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_update_data), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_secret { pub hdr_uaddr: __u64, pub hdr_len: __u32, pub guest_uaddr: __u64, pub guest_len: __u32, pub trans_uaddr: __u64, pub trans_len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_secret() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_sev_launch_secret)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_secret)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdr_uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(hdr_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdr_len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(hdr_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_uaddr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(guest_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_len as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(guest_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_uaddr as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(trans_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_len as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(trans_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_measure { pub uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_measure() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_sev_launch_measure)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_measure)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_measure), "::", stringify!(uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_measure), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_guest_status { pub handle: __u32, pub policy: __u32, pub state: __u32, } #[test] fn bindgen_test_layout_kvm_sev_guest_status() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_sev_guest_status)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_sev_guest_status)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(policy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).state as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_dbg { pub src_uaddr: __u64, pub dst_uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_dbg() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_sev_dbg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_dbg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(src_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dst_uaddr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(dst_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, pub devfn: __u32, pub flags: __u32, pub segnr: __u32, pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_pci_dev__bindgen_ty_1 { pub reserved: [__u32; 11usize], _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).busnr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(busnr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devfn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(devfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).segnr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(segnr) ) ); } impl Default for kvm_assigned_pci_dev { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, pub guest_irq: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_irq__bindgen_ty_1 { pub reserved: [__u32; 12usize], _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_irq)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).host_irq as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(host_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_irq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(guest_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(flags) ) ); } impl Default for kvm_assigned_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, pub padding: __u16, } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(entry_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, pub entry: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_eventfd { pub conn_id: __u32, pub fd: __s32, pub flags: __u32, pub padding: [__u32; 3usize], } #[test] fn bindgen_test_layout_kvm_hyperv_eventfd() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_hyperv_eventfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_hyperv_eventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).conn_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(conn_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(padding) ) ); } pub type __uint128_t = [u64; 2]; kvm-bindings-0.1.1/src/arm64/mod.rs010064403073240001001000000014241342005265700151670ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #[cfg(feature = "kvm-v4_14_0")] mod bindings_v4_14_0; #[cfg(feature = "kvm-v4_20_0")] mod bindings_v4_20_0; // Major hack to have a default version in case no feature is specified: // If no version is specified by using the features, just use the latest one // which currently is 4.20. #[cfg(all(not(feature = "kvm-v4_14_0"), not(feature = "kvm-v4_20_0")))] mod bindings_v4_20_0; pub mod bindings { #[cfg(feature = "kvm-v4_14_0")] pub use super::bindings_v4_14_0::*; #[cfg(feature = "kvm-v4_20_0")] pub use super::bindings_v4_20_0::*; #[cfg(all(not(feature = "kvm-v4_14_0"), not(feature = "kvm-v4_20_0")))] pub use super::bindings_v4_20_0::*; } kvm-bindings-0.1.1/src/lib.rs010064403073240001001000000010771342005272400142240ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #![allow(non_upper_case_globals)] #![allow(non_camel_case_types)] #![allow(non_snake_case)] #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] mod x86; #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] pub use self::x86::bindings::*; #[cfg(target_arch = "aarch")] mod arm; #[cfg(target_arch = "aarch")] pub use self::arm::bindings::*; #[cfg(target_arch = "aarch64")] mod arm64; #[cfg(target_arch = "aarch64")] pub use self::arm64::bindings::*; kvm-bindings-0.1.1/src/x86/bindings_v4_14_0.rs010064403073240001001000010266471342005270300170440ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* automatically generated by rust-bindgen */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { storage: Storage, align: [Align; 0], } impl __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { #[inline] pub fn new(storage: Storage) -> Self { Self { storage, align: [] } } #[inline] pub fn get_bit(&self, index: usize) -> bool { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = self.storage.as_ref()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; byte & mask == mask } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = &mut self.storage.as_mut()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; if val { *byte |= mask; } else { *byte &= !mask; } } #[inline] pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); let mut val = 0; for i in 0..(bit_width as usize) { if self.get_bit(i + bit_offset) { let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; val |= 1 << index; } } val } #[inline] pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); for i in 0..(bit_width as usize) { let mask = 1 << i; let val_bit_is_set = val & mask == mask; let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; self.set_bit(index + bit_offset, val_bit_is_set); } } } #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub const __BITS_PER_LONG: u32 = 64; pub const __FD_SETSIZE: u32 = 1024; pub const _IOC_NRBITS: u32 = 8; pub const _IOC_TYPEBITS: u32 = 8; pub const _IOC_SIZEBITS: u32 = 14; pub const _IOC_DIRBITS: u32 = 2; pub const _IOC_NRMASK: u32 = 255; pub const _IOC_TYPEMASK: u32 = 255; pub const _IOC_SIZEMASK: u32 = 16383; pub const _IOC_DIRMASK: u32 = 3; pub const _IOC_NRSHIFT: u32 = 0; pub const _IOC_TYPESHIFT: u32 = 8; pub const _IOC_SIZESHIFT: u32 = 16; pub const _IOC_DIRSHIFT: u32 = 30; pub const _IOC_NONE: u32 = 0; pub const _IOC_WRITE: u32 = 1; pub const _IOC_READ: u32 = 2; pub const IOC_IN: u32 = 1073741824; pub const IOC_OUT: u32 = 2147483648; pub const IOC_INOUT: u32 = 3221225472; pub const IOCSIZE_MASK: u32 = 1073676288; pub const IOCSIZE_SHIFT: u32 = 16; pub const KVM_PIO_PAGE_OFFSET: u32 = 1; pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 2; pub const DE_VECTOR: u32 = 0; pub const DB_VECTOR: u32 = 1; pub const BP_VECTOR: u32 = 3; pub const OF_VECTOR: u32 = 4; pub const BR_VECTOR: u32 = 5; pub const UD_VECTOR: u32 = 6; pub const NM_VECTOR: u32 = 7; pub const DF_VECTOR: u32 = 8; pub const TS_VECTOR: u32 = 10; pub const NP_VECTOR: u32 = 11; pub const SS_VECTOR: u32 = 12; pub const GP_VECTOR: u32 = 13; pub const PF_VECTOR: u32 = 14; pub const MF_VECTOR: u32 = 16; pub const AC_VECTOR: u32 = 17; pub const MC_VECTOR: u32 = 18; pub const XM_VECTOR: u32 = 19; pub const VE_VECTOR: u32 = 20; pub const KVM_NR_INTERRUPTS: u32 = 256; pub const KVM_IOAPIC_NUM_PINS: u32 = 24; pub const KVM_IRQCHIP_PIC_MASTER: u32 = 0; pub const KVM_IRQCHIP_PIC_SLAVE: u32 = 1; pub const KVM_IRQCHIP_IOAPIC: u32 = 2; pub const KVM_NR_IRQCHIPS: u32 = 3; pub const KVM_RUN_X86_SMM: u32 = 1; pub const KVM_APIC_REG_SIZE: u32 = 1024; pub const KVM_CPUID_FLAG_SIGNIFCANT_INDEX: u32 = 1; pub const KVM_CPUID_FLAG_STATEFUL_FUNC: u32 = 2; pub const KVM_CPUID_FLAG_STATE_READ_NEXT: u32 = 4; pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536; pub const KVM_GUESTDBG_USE_HW_BP: u32 = 131072; pub const KVM_GUESTDBG_INJECT_DB: u32 = 262144; pub const KVM_GUESTDBG_INJECT_BP: u32 = 524288; pub const KVM_PIT_FLAGS_HPET_LEGACY: u32 = 1; pub const KVM_VCPUEVENT_VALID_NMI_PENDING: u32 = 1; pub const KVM_VCPUEVENT_VALID_SIPI_VECTOR: u32 = 2; pub const KVM_VCPUEVENT_VALID_SHADOW: u32 = 4; pub const KVM_VCPUEVENT_VALID_SMM: u32 = 8; pub const KVM_X86_SHADOW_INT_MOV_SS: u32 = 1; pub const KVM_X86_SHADOW_INT_STI: u32 = 2; pub const KVM_MAX_XCRS: u32 = 16; pub const KVM_X86_QUIRK_LINT0_REENABLED: u32 = 1; pub const KVM_X86_QUIRK_CD_NW_CLEARED: u32 = 2; pub const KVM_API_VERSION: u32 = 12; pub const KVM_TRC_SHIFT: u32 = 16; pub const KVM_TRC_ENTRYEXIT: u32 = 65536; pub const KVM_TRC_HANDLER: u32 = 131072; pub const KVM_TRC_VMENTRY: u32 = 65537; pub const KVM_TRC_VMEXIT: u32 = 65538; pub const KVM_TRC_PAGE_FAULT: u32 = 131073; pub const KVM_TRC_HEAD_SIZE: u32 = 12; pub const KVM_TRC_CYCLE_SIZE: u32 = 8; pub const KVM_TRC_EXTRA_MAX: u32 = 7; pub const KVM_TRC_INJ_VIRQ: u32 = 131074; pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; pub const KVM_TRC_PEND_INTR: u32 = 131076; pub const KVM_TRC_IO_READ: u32 = 131077; pub const KVM_TRC_IO_WRITE: u32 = 131078; pub const KVM_TRC_CR_READ: u32 = 131079; pub const KVM_TRC_CR_WRITE: u32 = 131080; pub const KVM_TRC_DR_READ: u32 = 131081; pub const KVM_TRC_DR_WRITE: u32 = 131082; pub const KVM_TRC_MSR_READ: u32 = 131083; pub const KVM_TRC_MSR_WRITE: u32 = 131084; pub const KVM_TRC_CPUID: u32 = 131085; pub const KVM_TRC_INTR: u32 = 131086; pub const KVM_TRC_NMI: u32 = 131087; pub const KVM_TRC_VMMCALL: u32 = 131088; pub const KVM_TRC_HLT: u32 = 131089; pub const KVM_TRC_CLTS: u32 = 131090; pub const KVM_TRC_LMSW: u32 = 131091; pub const KVM_TRC_APIC_ACCESS: u32 = 131092; pub const KVM_TRC_TDP_FAULT: u32 = 131093; pub const KVM_TRC_GTLB_WRITE: u32 = 131094; pub const KVM_TRC_STLB_WRITE: u32 = 131095; pub const KVM_TRC_STLB_INVAL: u32 = 131096; pub const KVM_TRC_PPC_INSTR: u32 = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; pub const KVM_MEM_READONLY: u32 = 2; pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; pub const KVM_S390_CMMA_PEEK: u32 = 1; pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; pub const KVM_S390_SKEYS_MAX: u32 = 1048576; pub const KVM_EXIT_UNKNOWN: u32 = 0; pub const KVM_EXIT_EXCEPTION: u32 = 1; pub const KVM_EXIT_IO: u32 = 2; pub const KVM_EXIT_HYPERCALL: u32 = 3; pub const KVM_EXIT_DEBUG: u32 = 4; pub const KVM_EXIT_HLT: u32 = 5; pub const KVM_EXIT_MMIO: u32 = 6; pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; pub const KVM_EXIT_SHUTDOWN: u32 = 8; pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; pub const KVM_EXIT_INTR: u32 = 10; pub const KVM_EXIT_SET_TPR: u32 = 11; pub const KVM_EXIT_TPR_ACCESS: u32 = 12; pub const KVM_EXIT_S390_SIEIC: u32 = 13; pub const KVM_EXIT_S390_RESET: u32 = 14; pub const KVM_EXIT_DCR: u32 = 15; pub const KVM_EXIT_NMI: u32 = 16; pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; pub const KVM_EXIT_OSI: u32 = 18; pub const KVM_EXIT_PAPR_HCALL: u32 = 19; pub const KVM_EXIT_S390_UCONTROL: u32 = 20; pub const KVM_EXIT_WATCHDOG: u32 = 21; pub const KVM_EXIT_S390_TSCH: u32 = 22; pub const KVM_EXIT_EPR: u32 = 23; pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; pub const KVM_EXIT_S390_STSI: u32 = 25; pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; pub const KVM_EXIT_HYPERV: u32 = 27; pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; pub const KVM_EXIT_IO_IN: u32 = 0; pub const KVM_EXIT_IO_OUT: u32 = 1; pub const KVM_S390_RESET_POR: u32 = 1; pub const KVM_S390_RESET_CLEAR: u32 = 2; pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; pub const KVM_S390_RESET_CPU_INIT: u32 = 8; pub const KVM_S390_RESET_IPL: u32 = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; pub const KVM_MP_STATE_RUNNABLE: u32 = 0; pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; pub const KVM_MP_STATE_HALTED: u32 = 3; pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; pub const KVM_MP_STATE_STOPPED: u32 = 5; pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; pub const KVM_MP_STATE_OPERATING: u32 = 7; pub const KVM_MP_STATE_LOAD: u32 = 8; pub const KVM_S390_SIGP_STOP: u32 = 4294836224; pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; pub const KVM_S390_RESTART: u32 = 4294836227; pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; pub const KVM_S390_MCHK: u32 = 4294840320; pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; pub const KVM_S390_INT_SERVICE: u32 = 4294910977; pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; pub const KVM_S390_INT_IO_MIN: u32 = 0; pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; pub const KVM_GUESTDBG_ENABLE: u32 = 1; pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; pub const KVM_PPC_1T_SEGMENTS: u32 = 2; pub const KVMIO: u32 = 174; pub const KVM_VM_S390_UCONTROL: u32 = 1; pub const KVM_VM_PPC_HV: u32 = 1; pub const KVM_VM_PPC_PR: u32 = 2; pub const KVM_VM_MIPS_TE: u32 = 0; pub const KVM_VM_MIPS_VZ: u32 = 1; pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; pub const KVM_CAP_IRQCHIP: u32 = 0; pub const KVM_CAP_HLT: u32 = 1; pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; pub const KVM_CAP_USER_MEMORY: u32 = 3; pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; pub const KVM_CAP_VAPIC: u32 = 6; pub const KVM_CAP_EXT_CPUID: u32 = 7; pub const KVM_CAP_CLOCKSOURCE: u32 = 8; pub const KVM_CAP_NR_VCPUS: u32 = 9; pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; pub const KVM_CAP_PIT: u32 = 11; pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; pub const KVM_CAP_PV_MMU: u32 = 13; pub const KVM_CAP_MP_STATE: u32 = 14; pub const KVM_CAP_COALESCED_MMIO: u32 = 15; pub const KVM_CAP_SYNC_MMU: u32 = 16; pub const KVM_CAP_IOMMU: u32 = 18; pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; pub const KVM_CAP_USER_NMI: u32 = 22; pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; pub const KVM_CAP_REINJECT_CONTROL: u32 = 24; pub const KVM_CAP_IRQ_ROUTING: u32 = 25; pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; pub const KVM_CAP_MCE: u32 = 31; pub const KVM_CAP_IRQFD: u32 = 32; pub const KVM_CAP_PIT2: u32 = 33; pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; pub const KVM_CAP_PIT_STATE2: u32 = 35; pub const KVM_CAP_IOEVENTFD: u32 = 36; pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; pub const KVM_CAP_XEN_HVM: u32 = 38; pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; pub const KVM_CAP_VCPU_EVENTS: u32 = 41; pub const KVM_CAP_S390_PSW: u32 = 42; pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; pub const KVM_CAP_HYPERV: u32 = 44; pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; pub const KVM_CAP_HYPERV_SPIN: u32 = 46; pub const KVM_CAP_PCI_SEGMENT: u32 = 47; pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; pub const KVM_CAP_INTR_SHADOW: u32 = 49; pub const KVM_CAP_DEBUGREGS: u32 = 50; pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; pub const KVM_CAP_PPC_OSI: u32 = 52; pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; pub const KVM_CAP_ENABLE_CAP: u32 = 54; pub const KVM_CAP_XSAVE: u32 = 55; pub const KVM_CAP_XCRS: u32 = 56; pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; pub const KVM_CAP_ASYNC_PF: u32 = 59; pub const KVM_CAP_TSC_CONTROL: u32 = 60; pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; pub const KVM_CAP_SPAPR_TCE: u32 = 63; pub const KVM_CAP_PPC_SMT: u32 = 64; pub const KVM_CAP_PPC_RMA: u32 = 65; pub const KVM_CAP_MAX_VCPUS: u32 = 66; pub const KVM_CAP_PPC_HIOR: u32 = 67; pub const KVM_CAP_PPC_PAPR: u32 = 68; pub const KVM_CAP_SW_TLB: u32 = 69; pub const KVM_CAP_ONE_REG: u32 = 70; pub const KVM_CAP_S390_GMAP: u32 = 71; pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; pub const KVM_CAP_S390_UCONTROL: u32 = 73; pub const KVM_CAP_SYNC_REGS: u32 = 74; pub const KVM_CAP_PCI_2_3: u32 = 75; pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; pub const KVM_CAP_SIGNAL_MSI: u32 = 77; pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; pub const KVM_CAP_S390_COW: u32 = 79; pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; pub const KVM_CAP_READONLY_MEM: u32 = 81; pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; pub const KVM_CAP_PPC_EPR: u32 = 86; pub const KVM_CAP_ARM_PSCI: u32 = 87; pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; pub const KVM_CAP_DEVICE_CTRL: u32 = 89; pub const KVM_CAP_IRQ_MPIC: u32 = 90; pub const KVM_CAP_PPC_RTAS: u32 = 91; pub const KVM_CAP_IRQ_XICS: u32 = 92; pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; pub const KVM_CAP_HYPERV_TIME: u32 = 96; pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; pub const KVM_CAP_S390_IRQCHIP: u32 = 99; pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; pub const KVM_CAP_S390_USER_SIGP: u32 = 106; pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; pub const KVM_CAP_S390_MEM_OP: u32 = 108; pub const KVM_CAP_S390_USER_STSI: u32 = 109; pub const KVM_CAP_S390_SKEYS: u32 = 110; pub const KVM_CAP_MIPS_FPU: u32 = 111; pub const KVM_CAP_MIPS_MSA: u32 = 112; pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; pub const KVM_CAP_PPC_HWRNG: u32 = 115; pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; pub const KVM_CAP_X86_SMM: u32 = 117; pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; pub const KVM_CAP_S390_RI: u32 = 124; pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; pub const KVM_CAP_ARM_PMU_V3: u32 = 126; pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; pub const KVM_CAP_X2APIC_API: u32 = 129; pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; pub const KVM_CAP_MSI_DEVID: u32 = 131; pub const KVM_CAP_PPC_HTM: u32 = 132; pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; pub const KVM_CAP_MIPS_VZ: u32 = 137; pub const KVM_CAP_MIPS_TE: u32 = 138; pub const KVM_CAP_MIPS_64BIT: u32 = 139; pub const KVM_CAP_S390_GS: u32 = 140; pub const KVM_CAP_S390_AIS: u32 = 141; pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; pub const KVM_CAP_X86_GUEST_MWAIT: u32 = 143; pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; pub const KVM_CAP_PPC_FWNMI: u32 = 146; pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; pub const KVM_IRQ_ROUTING_MSI: u32 = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; pub const KVM_CLOCK_TSC_STABLE: u32 = 2; pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; pub const KVM_REG_GENERIC: u32 = 0; pub const KVM_REG_PPC: u64 = 1152921504606846976; pub const KVM_REG_X86: u64 = 2305843009213693952; pub const KVM_REG_IA64: u64 = 3458764513820540928; pub const KVM_REG_ARM: u64 = 4611686018427387904; pub const KVM_REG_S390: u64 = 5764607523034234880; pub const KVM_REG_ARM64: u64 = 6917529027641081856; pub const KVM_REG_MIPS: u64 = 8070450532247928832; pub const KVM_REG_SIZE_SHIFT: u32 = 52; pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; pub const KVM_REG_SIZE_U8: u32 = 0; pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; pub const KVM_MSI_VALID_DEVID: u32 = 1; pub const KVM_CREATE_DEVICE_TEST: u32 = 1; pub const KVM_DEV_VFIO_GROUP: u32 = 1; pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; pub const KVM_ARM_DEV_PMU: u32 = 4; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_mode_t = ::std::os::raw::c_uint; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; pub type __kernel_uid_t = ::std::os::raw::c_uint; pub type __kernel_gid_t = ::std::os::raw::c_uint; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::c_uint; pub type __kernel_size_t = __kernel_ulong_t; pub type __kernel_ssize_t = __kernel_long_t; pub type __kernel_ptrdiff_t = __kernel_long_t; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::c_ushort; pub type __le16 = __u16; pub type __be16 = __u16; pub type __le32 = __u32; pub type __be32 = __u32; pub type __le64 = __u64; pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_alias { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub target_phys_addr: __u64, } #[test] fn bindgen_test_layout_kvm_memory_alias() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_memory_alias)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_alias)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).target_phys_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(target_phys_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pic_state { pub last_irr: __u8, pub irr: __u8, pub imr: __u8, pub isr: __u8, pub priority_add: __u8, pub irq_base: __u8, pub read_reg_select: __u8, pub poll: __u8, pub special_mask: __u8, pub init_state: __u8, pub auto_eoi: __u8, pub rotate_on_auto_eoi: __u8, pub special_fully_nested_mode: __u8, pub init4: __u8, pub elcr: __u8, pub elcr_mask: __u8, } #[test] fn bindgen_test_layout_kvm_pic_state() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_pic_state)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_pic_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_irr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(last_irr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(irr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).imr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(imr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).isr as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(isr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).priority_add as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(priority_add) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq_base as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(irq_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).read_reg_select as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(read_reg_select) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).poll as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(poll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).special_mask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(special_mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).init_state as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(init_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).auto_eoi as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(auto_eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rotate_on_auto_eoi as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(rotate_on_auto_eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).special_fully_nested_mode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(special_fully_nested_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).init4 as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(init4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elcr as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(elcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elcr_mask as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(elcr_mask) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioapic_state { pub base_address: __u64, pub ioregsel: __u32, pub id: __u32, pub irr: __u32, pub pad: __u32, pub redirtbl: [kvm_ioapic_state__bindgen_ty_1; 24usize], } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_ioapic_state__bindgen_ty_1 { pub bits: __u64, pub fields: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: u64, } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { pub vector: __u8, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, pub reserved: [__u8; 4usize], pub dest_id: __u8, } #[test] fn bindgen_test_layout_kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), "::", stringify!(vector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dest_id as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dest_id) ) ); } impl kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn delivery_mode(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } } #[inline] pub fn set_delivery_mode(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 3u8, val as u64) } } #[inline] pub fn dest_mode(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } } #[inline] pub fn set_dest_mode(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(3usize, 1u8, val as u64) } } #[inline] pub fn delivery_status(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } } #[inline] pub fn set_delivery_status(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(4usize, 1u8, val as u64) } } #[inline] pub fn polarity(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } } #[inline] pub fn set_polarity(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(5usize, 1u8, val as u64) } } #[inline] pub fn remote_irr(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } } #[inline] pub fn set_remote_irr(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(6usize, 1u8, val as u64) } } #[inline] pub fn trig_mode(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } } #[inline] pub fn set_trig_mode(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(7usize, 1u8, val as u64) } } #[inline] pub fn mask(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } } #[inline] pub fn set_mask(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(8usize, 1u8, val as u64) } } #[inline] pub fn reserve(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 7u8) as u8) } } #[inline] pub fn set_reserve(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(9usize, 7u8, val as u64) } } #[inline] pub fn new_bitfield_1( delivery_mode: __u8, dest_mode: __u8, delivery_status: __u8, polarity: __u8, remote_irr: __u8, trig_mode: __u8, mask: __u8, reserve: __u8, ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = Default::default(); __bindgen_bitfield_unit.set(0usize, 3u8, { let delivery_mode: u8 = unsafe { ::std::mem::transmute(delivery_mode) }; delivery_mode as u64 }); __bindgen_bitfield_unit.set(3usize, 1u8, { let dest_mode: u8 = unsafe { ::std::mem::transmute(dest_mode) }; dest_mode as u64 }); __bindgen_bitfield_unit.set(4usize, 1u8, { let delivery_status: u8 = unsafe { ::std::mem::transmute(delivery_status) }; delivery_status as u64 }); __bindgen_bitfield_unit.set(5usize, 1u8, { let polarity: u8 = unsafe { ::std::mem::transmute(polarity) }; polarity as u64 }); __bindgen_bitfield_unit.set(6usize, 1u8, { let remote_irr: u8 = unsafe { ::std::mem::transmute(remote_irr) }; remote_irr as u64 }); __bindgen_bitfield_unit.set(7usize, 1u8, { let trig_mode: u8 = unsafe { ::std::mem::transmute(trig_mode) }; trig_mode as u64 }); __bindgen_bitfield_unit.set(8usize, 1u8, { let mask: u8 = unsafe { ::std::mem::transmute(mask) }; mask as u64 }); __bindgen_bitfield_unit.set(9usize, 7u8, { let reserve: u8 = unsafe { ::std::mem::transmute(reserve) }; reserve as u64 }); __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout_kvm_ioapic_state__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ioapic_state__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioapic_state__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1), "::", stringify!(bits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fields as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1), "::", stringify!(fields) ) ); } impl Default for kvm_ioapic_state__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_ioapic_state() { assert_eq!( ::std::mem::size_of::(), 216usize, concat!("Size of: ", stringify!(kvm_ioapic_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioapic_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(base_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ioregsel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(ioregsel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(irr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).redirtbl as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(redirtbl) ) ); } impl Default for kvm_ioapic_state { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_regs { pub rax: __u64, pub rbx: __u64, pub rcx: __u64, pub rdx: __u64, pub rsi: __u64, pub rdi: __u64, pub rsp: __u64, pub rbp: __u64, pub r8: __u64, pub r9: __u64, pub r10: __u64, pub r11: __u64, pub r12: __u64, pub r13: __u64, pub r14: __u64, pub r15: __u64, pub rip: __u64, pub rflags: __u64, } #[test] fn bindgen_test_layout_kvm_regs() { assert_eq!( ::std::mem::size_of::(), 144usize, concat!("Size of: ", stringify!(kvm_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rax as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rbx as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rbx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rcx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rdx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rdx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rsi as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rdi as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rdi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rsp as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rbp as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rbp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r8 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r9 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r10 as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r11 as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r12 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r13 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r14 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r15 as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rflags as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rflags) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_lapic_state { pub regs: [::std::os::raw::c_char; 1024usize], } #[test] fn bindgen_test_layout_kvm_lapic_state() { assert_eq!( ::std::mem::size_of::(), 1024usize, concat!("Size of: ", stringify!(kvm_lapic_state)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_lapic_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_lapic_state), "::", stringify!(regs) ) ); } impl Default for kvm_lapic_state { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_segment { pub base: __u64, pub limit: __u32, pub selector: __u16, pub type_: __u8, pub present: __u8, pub dpl: __u8, pub db: __u8, pub s: __u8, pub l: __u8, pub g: __u8, pub avl: __u8, pub unusable: __u8, pub padding: __u8, } #[test] fn bindgen_test_layout_kvm_segment() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_segment)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_segment)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).limit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(limit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selector as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(selector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).present as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(present) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dpl as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(dpl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).db as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(db) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(s) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).l as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(l) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).g as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(g) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).avl as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(avl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).unusable as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(unusable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dtable { pub base: __u64, pub limit: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_dtable() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dtable)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dtable)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dtable), "::", stringify!(base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).limit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dtable), "::", stringify!(limit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_dtable), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sregs { pub cs: kvm_segment, pub ds: kvm_segment, pub es: kvm_segment, pub fs: kvm_segment, pub gs: kvm_segment, pub ss: kvm_segment, pub tr: kvm_segment, pub ldt: kvm_segment, pub gdt: kvm_dtable, pub idt: kvm_dtable, pub cr0: __u64, pub cr2: __u64, pub cr3: __u64, pub cr4: __u64, pub cr8: __u64, pub efer: __u64, pub apic_base: __u64, pub interrupt_bitmap: [__u64; 4usize], } #[test] fn bindgen_test_layout_kvm_sregs() { assert_eq!( ::std::mem::size_of::(), 312usize, concat!("Size of: ", stringify!(kvm_sregs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sregs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ds as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(ds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).es as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(es) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fs as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(fs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gs as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(gs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ss as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(ss) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tr as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(tr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ldt as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(ldt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gdt as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(gdt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).idt as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(idt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr0 as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr2 as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr3 as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr4 as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).efer as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(efer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interrupt_bitmap as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(interrupt_bitmap) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_fpu { pub fpr: [[__u8; 16usize]; 8usize], pub fcw: __u16, pub fsw: __u16, pub ftwx: __u8, pub pad1: __u8, pub last_opcode: __u16, pub last_ip: __u64, pub last_dp: __u64, pub xmm: [[__u8; 16usize]; 16usize], pub mxcsr: __u32, pub pad2: __u32, } #[test] fn bindgen_test_layout_kvm_fpu() { assert_eq!( ::std::mem::size_of::(), 416usize, concat!("Size of: ", stringify!(kvm_fpu)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_fpu)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(fpr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fcw as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(fcw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsw as *const _ as usize }, 130usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(fsw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ftwx as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(ftwx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad1 as *const _ as usize }, 133usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(pad1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_opcode as *const _ as usize }, 134usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(last_opcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_ip as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(last_ip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_dp as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(last_dp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xmm as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(xmm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mxcsr as *const _ as usize }, 408usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(mxcsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad2 as *const _ as usize }, 412usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(pad2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msr_entry { pub index: __u32, pub reserved: __u32, pub data: __u64, } #[test] fn bindgen_test_layout_kvm_msr_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_msr_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_msr_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).index as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msr_entry), "::", stringify!(index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msr_entry), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msr_entry), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_msrs { pub nmsrs: __u32, pub pad: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_msrs() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_msrs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_msrs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nmsrs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msrs), "::", stringify!(nmsrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msrs), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msrs), "::", stringify!(entries) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_msr_list { pub nmsrs: __u32, pub indices: __IncompleteArrayField<__u32>, } #[test] fn bindgen_test_layout_kvm_msr_list() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_msr_list)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msr_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nmsrs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msr_list), "::", stringify!(nmsrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).indices as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msr_list), "::", stringify!(indices) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_cpuid_entry { pub function: __u32, pub eax: __u32, pub ebx: __u32, pub ecx: __u32, pub edx: __u32, pub padding: __u32, } #[test] fn bindgen_test_layout_kvm_cpuid_entry() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_cpuid_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eax as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(eax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ebx as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(ebx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ecx as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(ecx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).edx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(edx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_cpuid { pub nent: __u32, pub padding: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_cpuid() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_cpuid)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid), "::", stringify!(nent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid), "::", stringify!(entries) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_cpuid_entry2 { pub function: __u32, pub index: __u32, pub flags: __u32, pub eax: __u32, pub ebx: __u32, pub ecx: __u32, pub edx: __u32, pub padding: [__u32; 3usize], } #[test] fn bindgen_test_layout_kvm_cpuid_entry2() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_cpuid_entry2)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid_entry2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).index as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eax as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(eax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ebx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(ebx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ecx as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(ecx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).edx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(edx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_cpuid2 { pub nent: __u32, pub padding: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_cpuid2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_cpuid2)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid2), "::", stringify!(nent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid2), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid2), "::", stringify!(entries) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_channel_state { pub count: __u32, pub latched_count: __u16, pub count_latched: __u8, pub status_latched: __u8, pub status: __u8, pub read_state: __u8, pub write_state: __u8, pub write_latch: __u8, pub rw_mode: __u8, pub mode: __u8, pub bcd: __u8, pub gate: __u8, pub count_load_time: __s64, } #[test] fn bindgen_test_layout_kvm_pit_channel_state() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_pit_channel_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_pit_channel_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).latched_count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(latched_count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count_latched as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(count_latched) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status_latched as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(status_latched) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).read_state as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(read_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).write_state as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(write_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).write_latch as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(write_latch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rw_mode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(rw_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mode as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bcd as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(bcd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gate as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(gate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count_load_time as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(count_load_time) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_exit_arch { pub exception: __u32, pub pad: __u32, pub pc: __u64, pub dr6: __u64, pub dr7: __u64, } #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(pc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr6 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(dr6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr7 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(dr7) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug_arch { pub debugreg: [__u64; 8usize], } #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debugreg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(debugreg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_state { pub channels: [kvm_pit_channel_state; 3usize], } #[test] fn bindgen_test_layout_kvm_pit_state() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_pit_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_pit_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).channels as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_state), "::", stringify!(channels) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_state2 { pub channels: [kvm_pit_channel_state; 3usize], pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_pit_state2() { assert_eq!( ::std::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(kvm_pit_state2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_pit_state2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).channels as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_state2), "::", stringify!(channels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_pit_state2), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(kvm_pit_state2), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_reinject_control { pub pit_reinject: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_reinject_control() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_reinject_control)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_reinject_control)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pit_reinject as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reinject_control), "::", stringify!(pit_reinject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_reinject_control), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events { pub exception: kvm_vcpu_events__bindgen_ty_1, pub interrupt: kvm_vcpu_events__bindgen_ty_2, pub nmi: kvm_vcpu_events__bindgen_ty_3, pub sipi_vector: __u32, pub flags: __u32, pub smi: kvm_vcpu_events__bindgen_ty_4, pub reserved: [__u32; 9usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_1 { pub injected: __u8, pub nr: __u8, pub has_error_code: __u8, pub pad: __u8, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).injected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(injected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).has_error_code as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(has_error_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_2 { pub injected: __u8, pub nr: __u8, pub soft: __u8, pub shadow: __u8, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).injected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(injected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).soft as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(soft) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shadow as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(shadow) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_3 { pub injected: __u8, pub pending: __u8, pub masked: __u8, pub pad: __u8, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_3)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).injected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(injected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pending as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).masked as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(masked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_4 { pub smm: __u8, pub pending: __u8, pub smm_inside_nmi: __u8, pub latched_init: __u8, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_4)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(smm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pending as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smm_inside_nmi as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(smm_inside_nmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).latched_init as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(latched_init) ) ); } #[test] fn bindgen_test_layout_kvm_vcpu_events() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_vcpu_events)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_events)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interrupt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(interrupt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nmi as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(nmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sipi_vector as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(sipi_vector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smi as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(smi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debugregs { pub db: [__u64; 4usize], pub dr6: __u64, pub dr7: __u64, pub flags: __u64, pub reserved: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_debugregs() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_debugregs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debugregs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).db as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(db) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr6 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(dr6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr7 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(dr7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_xsave { pub region: [__u32; 1024usize], } #[test] fn bindgen_test_layout_kvm_xsave() { assert_eq!( ::std::mem::size_of::(), 4096usize, concat!("Size of: ", stringify!(kvm_xsave)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_xsave)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).region as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xsave), "::", stringify!(region) ) ); } impl Default for kvm_xsave { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_xcr { pub xcr: __u32, pub reserved: __u32, pub value: __u64, } #[test] fn bindgen_test_layout_kvm_xcr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_xcr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_xcr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xcr), "::", stringify!(xcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_xcr), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).value as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_xcr), "::", stringify!(value) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_xcrs { pub nr_xcrs: __u32, pub flags: __u32, pub xcrs: [kvm_xcr; 16usize], pub padding: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_xcrs() { assert_eq!( ::std::mem::size_of::(), 392usize, concat!("Size of: ", stringify!(kvm_xcrs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_xcrs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr_xcrs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(nr_xcrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xcrs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(xcrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sync_regs {} #[test] fn bindgen_test_layout_kvm_sync_regs() { assert_eq!( ::std::mem::size_of::(), 0usize, concat!("Size of: ", stringify!(kvm_sync_regs)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_sync_regs)) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_user_trace_setup)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_user_trace_setup)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_nr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, pub address: __u64, } #[test] fn bindgen_test_layout_kvm_breakpoint() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_breakpoint)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_breakpoint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, pub breakpoints: [kvm_breakpoint; 4usize], pub singlestep: __u32, } #[test] fn bindgen_test_layout_kvm_debug_guest() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(kvm_debug_guest)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_guest)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).breakpoints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(breakpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).singlestep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(singlestep) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, } #[test] fn bindgen_test_layout_kvm_memory_region() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(memory_size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub userspace_addr: __u64, } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userspace_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(userspace_addr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_level__bindgen_ty_1 { pub irq: __u32, pub status: __s32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(status) ) ); } impl Default for kvm_irq_level__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_level() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_level)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_level), "::", stringify!(level) ) ); } impl Default for kvm_irq_level { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irqchip__bindgen_ty_1 { pub dummy: [::std::os::raw::c_char; 512usize], pub pic: kvm_pic_state, pub ioapic: kvm_ioapic_state, _bindgen_union_align: [u64; 64usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(dummy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(pic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ioapic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(ioapic) ) ); } impl Default for kvm_irqchip__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irqchip() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip) ) ); } impl Default for kvm_irqchip { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_pit_config)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_pit_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_skeys { pub start_gfn: __u64, pub count: __u64, pub skeydata_addr: __u64, pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_s390_skeys() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_skeys)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_skeys)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).skeydata_addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(skeydata_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(reserved) ) ); } #[doc = " kvm_s390_cmma_log - Used for CMMA migration."] #[doc = ""] #[doc = " Used both for input and output."] #[doc = ""] #[doc = " @start_gfn: Guest page number to start from."] #[doc = " @count: Size of the result buffer."] #[doc = " @flags: Control operation mode via KVM_S390_CMMA_* flags"] #[doc = " @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty"] #[doc = " pages are still remaining."] #[doc = " @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set"] #[doc = " in the PGSTE."] #[doc = " @values: Pointer to the values buffer."] #[doc = ""] #[doc = " Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls."] #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_cmma_log { pub start_gfn: __u64, pub count: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, pub values: __u64, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_cmma_log__bindgen_ty_1 { pub remaining: __u64, pub mask: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_s390_cmma_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remaining as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(mask) ) ); } impl Default for kvm_s390_cmma_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_cmma_log() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).values as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(values) ) ); } impl Default for kvm_s390_cmma_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_hyperv_exit { pub type_: __u32, pub u: kvm_hyperv_exit__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_hyperv_exit__bindgen_ty_1 { pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, _bindgen_union_align: [u64; 4usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { pub msr: __u32, pub control: __u64, pub evt_page: __u64, pub msg_page: __u64, } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).evt_page as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(evt_page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_page as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msg_page) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { pub input: __u64, pub result: __u64, pub params: [__u64; 2usize], } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(input) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).result as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(result) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(params) ) ); } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).synic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(synic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(hcall) ) ); } impl Default for kvm_hyperv_exit__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_hyperv_exit() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_hyperv_exit)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(u) ) ); } impl Default for kvm_hyperv_exit { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub immediate_exit: __u8, pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, pub kvm_valid_regs: __u64, pub kvm_dirty_regs: __u64, pub s: kvm_run__bindgen_ty_2, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_1 { pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, pub s390_reset_flags: __u64, pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, pub hyperv: kvm_hyperv_exit, pub padding: [::std::os::raw::c_char; 256usize], _bindgen_union_align: [u64; 32usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hardware_exit_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hardware_exit_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hardware_entry_failure_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hardware_entry_failure_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, pub port: __u16, pub count: __u32, pub data_offset: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).direction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(direction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(data_offset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), "::", stringify!(arch) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], pub len: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], pub ret: __u64, pub longmode: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).longmode as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(longmode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(is_write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, pub ipb: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).icptcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(icptcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipa as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipb) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(pgm_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcrn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(dcrn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, pub data: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).suberror as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(suberror) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ndata as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(ndata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gprs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), "::", stringify!(gprs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, pub args: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { assert_eq!( ::std::mem::size_of::(), 88usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(args) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, pub ipb: __u32, pub dequeued: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_word) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(ipb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dequeued as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(dequeued) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), "::", stringify!(epr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { pub addr: __u64, pub ar: __u8, pub reserved: __u8, pub fc: __u8, pub sel1: __u8, pub sel2: __u16, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(fc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel1 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { pub vector: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), "::", stringify!(vector) ) ); } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hw as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fail_entry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(fail_entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(ex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(debug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(mmio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hypercall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hypercall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tpr_access as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(tpr_access) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_sieic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_sieic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_reset_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_reset_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_ucontrol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_ucontrol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(dcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).osi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(osi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).papr_hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(papr_hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_tsch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_tsch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(epr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).system_event as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(system_event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_stsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_stsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eoi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hyperv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hyperv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_2 { pub regs: kvm_sync_regs, pub padding: [::std::os::raw::c_char; 2048usize], _bindgen_union_align: [u8; 2048usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_run() { assert_eq!( ::std::mem::size_of::(), 2352usize, concat!("Size of: ", stringify!(kvm_run)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).request_interrupt_window as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(request_interrupt_window) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(immediate_exit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(padding1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exit_reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(exit_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ready_for_interrupt_injection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(ready_for_interrupt_injection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).if_flag as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(if_flag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_valid_regs as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_valid_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_dirty_regs as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_dirty_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(s) ) ); } impl Default for kvm_run { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, pub pad: __u32, pub data: [__u8; 8usize], } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).first as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(first) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(last) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).coalesced_mmio as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(coalesced_mmio) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, pub valid: __u8, pub writeable: __u8, pub usermode: __u8, pub pad: [__u8; 5usize], } #[test] fn bindgen_test_layout_kvm_translation() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_translation)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_translation)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).linear_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(linear_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physical_address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(physical_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(valid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).writeable as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(writeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usermode as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(usermode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mem_op { pub gaddr: __u64, pub flags: __u64, pub size: __u32, pub op: __u32, pub buf: __u64, pub ar: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_s390_mem_op() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_mem_op)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mem_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(gaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_interrupt), "::", stringify!(irq) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_dirty_log__bindgen_ty_1 { pub dirty_bitmap: *mut ::std::os::raw::c_void, pub padding2: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dirty_bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(dirty_bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(padding2) ) ); } impl Default for kvm_dirty_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_dirty_log() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(padding1) ) ); } impl Default for kvm_dirty_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_signal_mask)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_signal_mask)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(sigset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, pub reserved: [__u32; 8usize], } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vapic_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vapic_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vapic_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vapic_addr), "::", stringify!(vapic_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_mp_state)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_mp_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mp_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_mp_state), "::", stringify!(mp_state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_psw)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_psw)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, pub parm64: __u64, } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm64 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm64) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, } #[test] fn bindgen_test_layout_kvm_s390_io_info() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_s390_io_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_io_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_word) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, pub ext_params2: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_ext_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ext_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, pub per_address: __u64, pub data_exc_code: __u32, pub code: __u16, pub mon_class_nr: __u16, pub per_code: __u8, pub per_atmid: __u8, pub exc_access_id: __u8, pub per_access_id: __u8, pub op_access_id: __u8, pub flags: __u8, pub pad: [__u8; 2usize], } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_exc_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(data_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_class_nr as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_class_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_code as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_atmid as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_atmid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exc_access_id as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(exc_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_access_id as *const _ as usize }, 35usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op_access_id as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(op_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 37usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_prefix_info), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_extcall_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_emerg_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_stop_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_stop_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_stop_info), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, pub failing_storage_address: __u64, pub ext_damage_code: __u32, pub pad: __u32, pub fixed_logout: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr14 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(cr14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(mcic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).failing_storage_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(failing_storage_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_damage_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(ext_damage_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fixed_logout as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(fixed_logout) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_irq__bindgen_ty_1 { pub io: kvm_s390_io_info, pub ext: kvm_s390_ext_info, pub pgm: kvm_s390_pgm_info, pub emerg: kvm_s390_emerg_info, pub extcall: kvm_s390_extcall_info, pub prefix: kvm_s390_prefix_info, pub stop: kvm_s390_stop_info, pub mchk: kvm_s390_mchk_info, pub reserved: [::std::os::raw::c_char; 64usize], _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(ext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(pgm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emerg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(emerg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(extcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mchk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(mchk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_s390_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_irq() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_s390_irq)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(u) ) ); } impl Default for kvm_s390_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_irq_state { pub buf: __u64, pub flags: __u32, pub len: __u32, pub reserved: [__u32; 4usize], } #[test] fn bindgen_test_layout_kvm_s390_irq_state() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_irq_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, pub arch: kvm_guest_debug_arch, } #[test] fn bindgen_test_layout_kvm_guest_debug() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_guest_debug)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(arch) ) ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2; pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3; pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = u32; #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, pub len: __u32, pub fd: __s32, pub flags: __u32, pub pad: [__u8; 36usize], } #[test] fn bindgen_test_layout_kvm_ioeventfd() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_ioeventfd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioeventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datamatch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(datamatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(pad) ) ); } impl Default for kvm_ioeventfd { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, pub args: [__u64; 4usize], pub pad: [__u8; 64usize], } #[test] fn bindgen_test_layout_kvm_enable_cap() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(kvm_enable_cap)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enable_cap)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(cap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(pad) ) ); } impl Default for kvm_enable_cap { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], pub pad: [__u8; 108usize], } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(pad) ) ); } impl Default for kvm_ppc_pvinfo { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pte_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(pte_enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, pub enc: [kvm_ppc_one_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(slb_enc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, pub data_keys: __u16, pub instr_keys: __u16, pub sps: [kvm_ppc_one_seg_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { assert_eq!( ::std::mem::size_of::(), 592usize, concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(slb_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_keys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(data_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).instr_keys as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(instr_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(sps) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_resize_hpt { pub flags: __u64, pub shift: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_resize_hpt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shift as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(pin) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_msi__bindgen_ty_1 { pub pad: __u32, pub devid: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_msi__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_msi__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(devid) ) ); } impl Default for kvm_irq_routing_msi__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(data) ) ); } impl Default for kvm_irq_routing_msi { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, pub ind_offset: __u64, pub summary_offset: __u32, pub adapter_id: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter_id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(adapter_id) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_hv_sint { pub vcpu: __u32, pub sint: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_hv_sint() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(vcpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(sint) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, pub flags: __u32, pub pad: __u32, pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_entry__bindgen_ty_1 { pub irqchip: kvm_irq_routing_irqchip, pub msi: kvm_irq_routing_msi, pub adapter: kvm_irq_routing_s390_adapter, pub hv_sint: kvm_irq_routing_hv_sint, pub pad: [__u32; 8usize], _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_entry__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(msi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hv_sint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(hv_sint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_irq_routing_entry__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(u) ) ); } impl Default for kvm_irq_routing_entry { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_irq_routing() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(entries) ) ); } impl Default for kvm_irq_routing { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_x86_mce { pub status: __u64, pub addr: __u64, pub misc: __u64, pub mcg_status: __u64, pub bank: __u8, pub pad1: [__u8; 7usize], pub pad2: [__u64; 3usize], } #[test] fn bindgen_test_layout_kvm_x86_mce() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_x86_mce)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_x86_mce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).misc as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(misc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcg_status as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(mcg_status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bank as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(bank) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad1 as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(pad1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad2 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(pad2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_xen_hvm_config { pub flags: __u32, pub msr: __u32, pub blob_addr_32: __u64, pub blob_addr_64: __u64, pub blob_size_32: __u8, pub blob_size_64: __u8, pub pad2: [__u8; 30usize], } #[test] fn bindgen_test_layout_kvm_xen_hvm_config() { assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(kvm_xen_hvm_config)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_xen_hvm_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_addr_32 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_addr_32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_addr_64 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_addr_64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_size_32 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_size_32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_size_64 as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_size_64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad2 as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(pad2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, pub flags: __u32, pub resamplefd: __u32, pub pad: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_irqfd() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irqfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resamplefd as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(resamplefd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, pub pad: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_clock_data() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_clock_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_clock_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(clock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, pub mmu_type: __u32, pub array_len: __u32, } #[test] fn bindgen_test_layout_kvm_config_tlb() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_config_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_config_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmu_type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(mmu_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array_len as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_dirty as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(num_dirty) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_reg_list)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_reg_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(reg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_one_reg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_one_reg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub flags: __u32, pub devid: __u32, pub pad: [__u8; 12usize], } #[test] fn bindgen_test_layout_kvm_msi() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_arm_device_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_arm_device_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_create_device() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_create_device)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_create_device)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, pub attr: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_device_attr() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_device_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_device_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).group as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(attr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(addr) ) ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 9; pub type kvm_device_type = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vfio_spapr_tce { pub groupfd: __s32, pub tablefd: __s32, } #[test] fn bindgen_test_layout_kvm_vfio_spapr_tce() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).groupfd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(groupfd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tablefd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(tablefd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, pub length: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(user_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(vcpu_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(length) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, pub devfn: __u32, pub flags: __u32, pub segnr: __u32, pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_pci_dev__bindgen_ty_1 { pub reserved: [__u32; 11usize], _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).busnr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(busnr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devfn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(devfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).segnr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(segnr) ) ); } impl Default for kvm_assigned_pci_dev { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, pub guest_irq: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_irq__bindgen_ty_1 { pub reserved: [__u32; 12usize], _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_irq)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).host_irq as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(host_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_irq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(guest_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(flags) ) ); } impl Default for kvm_assigned_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, pub padding: __u16, } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(entry_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, pub entry: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(padding) ) ); } kvm-bindings-0.1.1/src/x86/bindings_v4_20_0.rs010064403073240001001000011141161342005272400170310ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 /* automatically generated by rust-bindgen */ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { storage: Storage, align: [Align; 0], } impl __BindgenBitfieldUnit where Storage: AsRef<[u8]> + AsMut<[u8]>, { #[inline] pub fn new(storage: Storage) -> Self { Self { storage, align: [] } } #[inline] pub fn get_bit(&self, index: usize) -> bool { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = self.storage.as_ref()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; byte & mask == mask } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { debug_assert!(index / 8 < self.storage.as_ref().len()); let byte_index = index / 8; let byte = &mut self.storage.as_mut()[byte_index]; let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 }; let mask = 1 << bit_index; if val { *byte |= mask; } else { *byte &= !mask; } } #[inline] pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); let mut val = 0; for i in 0..(bit_width as usize) { if self.get_bit(i + bit_offset) { let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; val |= 1 << index; } } val } #[inline] pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); for i in 0..(bit_width as usize) { let mask = 1 << i; let val_bit_is_set = val & mask == mask; let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i }; self.set_bit(index + bit_offset, val_bit_is_set); } } } #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub const __BITS_PER_LONG: u32 = 64; pub const __FD_SETSIZE: u32 = 1024; pub const _IOC_NRBITS: u32 = 8; pub const _IOC_TYPEBITS: u32 = 8; pub const _IOC_SIZEBITS: u32 = 14; pub const _IOC_DIRBITS: u32 = 2; pub const _IOC_NRMASK: u32 = 255; pub const _IOC_TYPEMASK: u32 = 255; pub const _IOC_SIZEMASK: u32 = 16383; pub const _IOC_DIRMASK: u32 = 3; pub const _IOC_NRSHIFT: u32 = 0; pub const _IOC_TYPESHIFT: u32 = 8; pub const _IOC_SIZESHIFT: u32 = 16; pub const _IOC_DIRSHIFT: u32 = 30; pub const _IOC_NONE: u32 = 0; pub const _IOC_WRITE: u32 = 1; pub const _IOC_READ: u32 = 2; pub const IOC_IN: u32 = 1073741824; pub const IOC_OUT: u32 = 2147483648; pub const IOC_INOUT: u32 = 3221225472; pub const IOCSIZE_MASK: u32 = 1073676288; pub const IOCSIZE_SHIFT: u32 = 16; pub const KVM_PIO_PAGE_OFFSET: u32 = 1; pub const KVM_COALESCED_MMIO_PAGE_OFFSET: u32 = 2; pub const DE_VECTOR: u32 = 0; pub const DB_VECTOR: u32 = 1; pub const BP_VECTOR: u32 = 3; pub const OF_VECTOR: u32 = 4; pub const BR_VECTOR: u32 = 5; pub const UD_VECTOR: u32 = 6; pub const NM_VECTOR: u32 = 7; pub const DF_VECTOR: u32 = 8; pub const TS_VECTOR: u32 = 10; pub const NP_VECTOR: u32 = 11; pub const SS_VECTOR: u32 = 12; pub const GP_VECTOR: u32 = 13; pub const PF_VECTOR: u32 = 14; pub const MF_VECTOR: u32 = 16; pub const AC_VECTOR: u32 = 17; pub const MC_VECTOR: u32 = 18; pub const XM_VECTOR: u32 = 19; pub const VE_VECTOR: u32 = 20; pub const KVM_NR_INTERRUPTS: u32 = 256; pub const KVM_IOAPIC_NUM_PINS: u32 = 24; pub const KVM_IRQCHIP_PIC_MASTER: u32 = 0; pub const KVM_IRQCHIP_PIC_SLAVE: u32 = 1; pub const KVM_IRQCHIP_IOAPIC: u32 = 2; pub const KVM_NR_IRQCHIPS: u32 = 3; pub const KVM_RUN_X86_SMM: u32 = 1; pub const KVM_APIC_REG_SIZE: u32 = 1024; pub const KVM_CPUID_FLAG_SIGNIFCANT_INDEX: u32 = 1; pub const KVM_CPUID_FLAG_STATEFUL_FUNC: u32 = 2; pub const KVM_CPUID_FLAG_STATE_READ_NEXT: u32 = 4; pub const KVM_GUESTDBG_USE_SW_BP: u32 = 65536; pub const KVM_GUESTDBG_USE_HW_BP: u32 = 131072; pub const KVM_GUESTDBG_INJECT_DB: u32 = 262144; pub const KVM_GUESTDBG_INJECT_BP: u32 = 524288; pub const KVM_PIT_FLAGS_HPET_LEGACY: u32 = 1; pub const KVM_VCPUEVENT_VALID_NMI_PENDING: u32 = 1; pub const KVM_VCPUEVENT_VALID_SIPI_VECTOR: u32 = 2; pub const KVM_VCPUEVENT_VALID_SHADOW: u32 = 4; pub const KVM_VCPUEVENT_VALID_SMM: u32 = 8; pub const KVM_VCPUEVENT_VALID_PAYLOAD: u32 = 16; pub const KVM_X86_SHADOW_INT_MOV_SS: u32 = 1; pub const KVM_X86_SHADOW_INT_STI: u32 = 2; pub const KVM_MAX_XCRS: u32 = 16; pub const KVM_SYNC_X86_REGS: u32 = 1; pub const KVM_SYNC_X86_SREGS: u32 = 2; pub const KVM_SYNC_X86_EVENTS: u32 = 4; pub const KVM_SYNC_X86_VALID_FIELDS: u32 = 7; pub const KVM_X86_QUIRK_LINT0_REENABLED: u32 = 1; pub const KVM_X86_QUIRK_CD_NW_CLEARED: u32 = 2; pub const KVM_X86_QUIRK_LAPIC_MMIO_HOLE: u32 = 4; pub const KVM_STATE_NESTED_GUEST_MODE: u32 = 1; pub const KVM_STATE_NESTED_RUN_PENDING: u32 = 2; pub const KVM_STATE_NESTED_EVMCS: u32 = 4; pub const KVM_STATE_NESTED_SMM_GUEST_MODE: u32 = 1; pub const KVM_STATE_NESTED_SMM_VMXON: u32 = 2; pub const KVM_API_VERSION: u32 = 12; pub const KVM_TRC_SHIFT: u32 = 16; pub const KVM_TRC_ENTRYEXIT: u32 = 65536; pub const KVM_TRC_HANDLER: u32 = 131072; pub const KVM_TRC_VMENTRY: u32 = 65537; pub const KVM_TRC_VMEXIT: u32 = 65538; pub const KVM_TRC_PAGE_FAULT: u32 = 131073; pub const KVM_TRC_HEAD_SIZE: u32 = 12; pub const KVM_TRC_CYCLE_SIZE: u32 = 8; pub const KVM_TRC_EXTRA_MAX: u32 = 7; pub const KVM_TRC_INJ_VIRQ: u32 = 131074; pub const KVM_TRC_REDELIVER_EVT: u32 = 131075; pub const KVM_TRC_PEND_INTR: u32 = 131076; pub const KVM_TRC_IO_READ: u32 = 131077; pub const KVM_TRC_IO_WRITE: u32 = 131078; pub const KVM_TRC_CR_READ: u32 = 131079; pub const KVM_TRC_CR_WRITE: u32 = 131080; pub const KVM_TRC_DR_READ: u32 = 131081; pub const KVM_TRC_DR_WRITE: u32 = 131082; pub const KVM_TRC_MSR_READ: u32 = 131083; pub const KVM_TRC_MSR_WRITE: u32 = 131084; pub const KVM_TRC_CPUID: u32 = 131085; pub const KVM_TRC_INTR: u32 = 131086; pub const KVM_TRC_NMI: u32 = 131087; pub const KVM_TRC_VMMCALL: u32 = 131088; pub const KVM_TRC_HLT: u32 = 131089; pub const KVM_TRC_CLTS: u32 = 131090; pub const KVM_TRC_LMSW: u32 = 131091; pub const KVM_TRC_APIC_ACCESS: u32 = 131092; pub const KVM_TRC_TDP_FAULT: u32 = 131093; pub const KVM_TRC_GTLB_WRITE: u32 = 131094; pub const KVM_TRC_STLB_WRITE: u32 = 131095; pub const KVM_TRC_STLB_INVAL: u32 = 131096; pub const KVM_TRC_PPC_INSTR: u32 = 131097; pub const KVM_MEM_LOG_DIRTY_PAGES: u32 = 1; pub const KVM_MEM_READONLY: u32 = 2; pub const KVM_PIT_SPEAKER_DUMMY: u32 = 1; pub const KVM_S390_CMMA_PEEK: u32 = 1; pub const KVM_EXIT_HYPERV_SYNIC: u32 = 1; pub const KVM_EXIT_HYPERV_HCALL: u32 = 2; pub const KVM_S390_GET_SKEYS_NONE: u32 = 1; pub const KVM_S390_SKEYS_MAX: u32 = 1048576; pub const KVM_EXIT_UNKNOWN: u32 = 0; pub const KVM_EXIT_EXCEPTION: u32 = 1; pub const KVM_EXIT_IO: u32 = 2; pub const KVM_EXIT_HYPERCALL: u32 = 3; pub const KVM_EXIT_DEBUG: u32 = 4; pub const KVM_EXIT_HLT: u32 = 5; pub const KVM_EXIT_MMIO: u32 = 6; pub const KVM_EXIT_IRQ_WINDOW_OPEN: u32 = 7; pub const KVM_EXIT_SHUTDOWN: u32 = 8; pub const KVM_EXIT_FAIL_ENTRY: u32 = 9; pub const KVM_EXIT_INTR: u32 = 10; pub const KVM_EXIT_SET_TPR: u32 = 11; pub const KVM_EXIT_TPR_ACCESS: u32 = 12; pub const KVM_EXIT_S390_SIEIC: u32 = 13; pub const KVM_EXIT_S390_RESET: u32 = 14; pub const KVM_EXIT_DCR: u32 = 15; pub const KVM_EXIT_NMI: u32 = 16; pub const KVM_EXIT_INTERNAL_ERROR: u32 = 17; pub const KVM_EXIT_OSI: u32 = 18; pub const KVM_EXIT_PAPR_HCALL: u32 = 19; pub const KVM_EXIT_S390_UCONTROL: u32 = 20; pub const KVM_EXIT_WATCHDOG: u32 = 21; pub const KVM_EXIT_S390_TSCH: u32 = 22; pub const KVM_EXIT_EPR: u32 = 23; pub const KVM_EXIT_SYSTEM_EVENT: u32 = 24; pub const KVM_EXIT_S390_STSI: u32 = 25; pub const KVM_EXIT_IOAPIC_EOI: u32 = 26; pub const KVM_EXIT_HYPERV: u32 = 27; pub const KVM_INTERNAL_ERROR_EMULATION: u32 = 1; pub const KVM_INTERNAL_ERROR_SIMUL_EX: u32 = 2; pub const KVM_INTERNAL_ERROR_DELIVERY_EV: u32 = 3; pub const KVM_EXIT_IO_IN: u32 = 0; pub const KVM_EXIT_IO_OUT: u32 = 1; pub const KVM_S390_RESET_POR: u32 = 1; pub const KVM_S390_RESET_CLEAR: u32 = 2; pub const KVM_S390_RESET_SUBSYSTEM: u32 = 4; pub const KVM_S390_RESET_CPU_INIT: u32 = 8; pub const KVM_S390_RESET_IPL: u32 = 16; pub const KVM_SYSTEM_EVENT_SHUTDOWN: u32 = 1; pub const KVM_SYSTEM_EVENT_RESET: u32 = 2; pub const KVM_SYSTEM_EVENT_CRASH: u32 = 3; pub const SYNC_REGS_SIZE_BYTES: u32 = 2048; pub const KVM_S390_MEMOP_LOGICAL_READ: u32 = 0; pub const KVM_S390_MEMOP_LOGICAL_WRITE: u32 = 1; pub const KVM_S390_MEMOP_F_CHECK_ONLY: u32 = 1; pub const KVM_S390_MEMOP_F_INJECT_EXCEPTION: u32 = 2; pub const KVM_MP_STATE_RUNNABLE: u32 = 0; pub const KVM_MP_STATE_UNINITIALIZED: u32 = 1; pub const KVM_MP_STATE_INIT_RECEIVED: u32 = 2; pub const KVM_MP_STATE_HALTED: u32 = 3; pub const KVM_MP_STATE_SIPI_RECEIVED: u32 = 4; pub const KVM_MP_STATE_STOPPED: u32 = 5; pub const KVM_MP_STATE_CHECK_STOP: u32 = 6; pub const KVM_MP_STATE_OPERATING: u32 = 7; pub const KVM_MP_STATE_LOAD: u32 = 8; pub const KVM_S390_SIGP_STOP: u32 = 4294836224; pub const KVM_S390_PROGRAM_INT: u32 = 4294836225; pub const KVM_S390_SIGP_SET_PREFIX: u32 = 4294836226; pub const KVM_S390_RESTART: u32 = 4294836227; pub const KVM_S390_INT_PFAULT_INIT: u32 = 4294836228; pub const KVM_S390_INT_PFAULT_DONE: u32 = 4294836229; pub const KVM_S390_MCHK: u32 = 4294840320; pub const KVM_S390_INT_CLOCK_COMP: u32 = 4294905860; pub const KVM_S390_INT_CPU_TIMER: u32 = 4294905861; pub const KVM_S390_INT_VIRTIO: u32 = 4294911491; pub const KVM_S390_INT_SERVICE: u32 = 4294910977; pub const KVM_S390_INT_EMERGENCY: u32 = 4294906369; pub const KVM_S390_INT_EXTERNAL_CALL: u32 = 4294906370; pub const KVM_S390_INT_IO_MIN: u32 = 0; pub const KVM_S390_INT_IO_MAX: u32 = 4294836223; pub const KVM_S390_INT_IO_AI_MASK: u32 = 67108864; pub const KVM_S390_PGM_FLAGS_ILC_VALID: u32 = 1; pub const KVM_S390_PGM_FLAGS_ILC_0: u32 = 2; pub const KVM_S390_PGM_FLAGS_ILC_1: u32 = 4; pub const KVM_S390_PGM_FLAGS_ILC_MASK: u32 = 6; pub const KVM_S390_PGM_FLAGS_NO_REWIND: u32 = 8; pub const KVM_S390_STOP_FLAG_STORE_STATUS: u32 = 1; pub const KVM_GUESTDBG_ENABLE: u32 = 1; pub const KVM_GUESTDBG_SINGLESTEP: u32 = 2; pub const KVM_X86_DISABLE_EXITS_MWAIT: u32 = 1; pub const KVM_X86_DISABLE_EXITS_HLT: u32 = 2; pub const KVM_X86_DISABLE_EXITS_PAUSE: u32 = 4; pub const KVM_X86_DISABLE_VALID_EXITS: u32 = 7; pub const KVM_PPC_PVINFO_FLAGS_EV_IDLE: u32 = 1; pub const KVM_PPC_PAGE_SIZES_MAX_SZ: u32 = 8; pub const KVM_PPC_PAGE_SIZES_REAL: u32 = 1; pub const KVM_PPC_1T_SEGMENTS: u32 = 2; pub const KVM_PPC_NO_HASH: u32 = 4; pub const KVMIO: u32 = 174; pub const KVM_VM_S390_UCONTROL: u32 = 1; pub const KVM_VM_PPC_HV: u32 = 1; pub const KVM_VM_PPC_PR: u32 = 2; pub const KVM_VM_MIPS_TE: u32 = 0; pub const KVM_VM_MIPS_VZ: u32 = 1; pub const KVM_S390_SIE_PAGE_OFFSET: u32 = 1; pub const KVM_VM_TYPE_ARM_IPA_SIZE_MASK: u32 = 255; pub const KVM_CAP_IRQCHIP: u32 = 0; pub const KVM_CAP_HLT: u32 = 1; pub const KVM_CAP_MMU_SHADOW_CACHE_CONTROL: u32 = 2; pub const KVM_CAP_USER_MEMORY: u32 = 3; pub const KVM_CAP_SET_TSS_ADDR: u32 = 4; pub const KVM_CAP_VAPIC: u32 = 6; pub const KVM_CAP_EXT_CPUID: u32 = 7; pub const KVM_CAP_CLOCKSOURCE: u32 = 8; pub const KVM_CAP_NR_VCPUS: u32 = 9; pub const KVM_CAP_NR_MEMSLOTS: u32 = 10; pub const KVM_CAP_PIT: u32 = 11; pub const KVM_CAP_NOP_IO_DELAY: u32 = 12; pub const KVM_CAP_PV_MMU: u32 = 13; pub const KVM_CAP_MP_STATE: u32 = 14; pub const KVM_CAP_COALESCED_MMIO: u32 = 15; pub const KVM_CAP_SYNC_MMU: u32 = 16; pub const KVM_CAP_IOMMU: u32 = 18; pub const KVM_CAP_DESTROY_MEMORY_REGION_WORKS: u32 = 21; pub const KVM_CAP_USER_NMI: u32 = 22; pub const KVM_CAP_SET_GUEST_DEBUG: u32 = 23; pub const KVM_CAP_REINJECT_CONTROL: u32 = 24; pub const KVM_CAP_IRQ_ROUTING: u32 = 25; pub const KVM_CAP_IRQ_INJECT_STATUS: u32 = 26; pub const KVM_CAP_ASSIGN_DEV_IRQ: u32 = 29; pub const KVM_CAP_JOIN_MEMORY_REGIONS_WORKS: u32 = 30; pub const KVM_CAP_MCE: u32 = 31; pub const KVM_CAP_IRQFD: u32 = 32; pub const KVM_CAP_PIT2: u32 = 33; pub const KVM_CAP_SET_BOOT_CPU_ID: u32 = 34; pub const KVM_CAP_PIT_STATE2: u32 = 35; pub const KVM_CAP_IOEVENTFD: u32 = 36; pub const KVM_CAP_SET_IDENTITY_MAP_ADDR: u32 = 37; pub const KVM_CAP_XEN_HVM: u32 = 38; pub const KVM_CAP_ADJUST_CLOCK: u32 = 39; pub const KVM_CAP_INTERNAL_ERROR_DATA: u32 = 40; pub const KVM_CAP_VCPU_EVENTS: u32 = 41; pub const KVM_CAP_S390_PSW: u32 = 42; pub const KVM_CAP_PPC_SEGSTATE: u32 = 43; pub const KVM_CAP_HYPERV: u32 = 44; pub const KVM_CAP_HYPERV_VAPIC: u32 = 45; pub const KVM_CAP_HYPERV_SPIN: u32 = 46; pub const KVM_CAP_PCI_SEGMENT: u32 = 47; pub const KVM_CAP_PPC_PAIRED_SINGLES: u32 = 48; pub const KVM_CAP_INTR_SHADOW: u32 = 49; pub const KVM_CAP_DEBUGREGS: u32 = 50; pub const KVM_CAP_X86_ROBUST_SINGLESTEP: u32 = 51; pub const KVM_CAP_PPC_OSI: u32 = 52; pub const KVM_CAP_PPC_UNSET_IRQ: u32 = 53; pub const KVM_CAP_ENABLE_CAP: u32 = 54; pub const KVM_CAP_XSAVE: u32 = 55; pub const KVM_CAP_XCRS: u32 = 56; pub const KVM_CAP_PPC_GET_PVINFO: u32 = 57; pub const KVM_CAP_PPC_IRQ_LEVEL: u32 = 58; pub const KVM_CAP_ASYNC_PF: u32 = 59; pub const KVM_CAP_TSC_CONTROL: u32 = 60; pub const KVM_CAP_GET_TSC_KHZ: u32 = 61; pub const KVM_CAP_PPC_BOOKE_SREGS: u32 = 62; pub const KVM_CAP_SPAPR_TCE: u32 = 63; pub const KVM_CAP_PPC_SMT: u32 = 64; pub const KVM_CAP_PPC_RMA: u32 = 65; pub const KVM_CAP_MAX_VCPUS: u32 = 66; pub const KVM_CAP_PPC_HIOR: u32 = 67; pub const KVM_CAP_PPC_PAPR: u32 = 68; pub const KVM_CAP_SW_TLB: u32 = 69; pub const KVM_CAP_ONE_REG: u32 = 70; pub const KVM_CAP_S390_GMAP: u32 = 71; pub const KVM_CAP_TSC_DEADLINE_TIMER: u32 = 72; pub const KVM_CAP_S390_UCONTROL: u32 = 73; pub const KVM_CAP_SYNC_REGS: u32 = 74; pub const KVM_CAP_PCI_2_3: u32 = 75; pub const KVM_CAP_KVMCLOCK_CTRL: u32 = 76; pub const KVM_CAP_SIGNAL_MSI: u32 = 77; pub const KVM_CAP_PPC_GET_SMMU_INFO: u32 = 78; pub const KVM_CAP_S390_COW: u32 = 79; pub const KVM_CAP_PPC_ALLOC_HTAB: u32 = 80; pub const KVM_CAP_READONLY_MEM: u32 = 81; pub const KVM_CAP_IRQFD_RESAMPLE: u32 = 82; pub const KVM_CAP_PPC_BOOKE_WATCHDOG: u32 = 83; pub const KVM_CAP_PPC_HTAB_FD: u32 = 84; pub const KVM_CAP_S390_CSS_SUPPORT: u32 = 85; pub const KVM_CAP_PPC_EPR: u32 = 86; pub const KVM_CAP_ARM_PSCI: u32 = 87; pub const KVM_CAP_ARM_SET_DEVICE_ADDR: u32 = 88; pub const KVM_CAP_DEVICE_CTRL: u32 = 89; pub const KVM_CAP_IRQ_MPIC: u32 = 90; pub const KVM_CAP_PPC_RTAS: u32 = 91; pub const KVM_CAP_IRQ_XICS: u32 = 92; pub const KVM_CAP_ARM_EL1_32BIT: u32 = 93; pub const KVM_CAP_SPAPR_MULTITCE: u32 = 94; pub const KVM_CAP_EXT_EMUL_CPUID: u32 = 95; pub const KVM_CAP_HYPERV_TIME: u32 = 96; pub const KVM_CAP_IOAPIC_POLARITY_IGNORED: u32 = 97; pub const KVM_CAP_ENABLE_CAP_VM: u32 = 98; pub const KVM_CAP_S390_IRQCHIP: u32 = 99; pub const KVM_CAP_IOEVENTFD_NO_LENGTH: u32 = 100; pub const KVM_CAP_VM_ATTRIBUTES: u32 = 101; pub const KVM_CAP_ARM_PSCI_0_2: u32 = 102; pub const KVM_CAP_PPC_FIXUP_HCALL: u32 = 103; pub const KVM_CAP_PPC_ENABLE_HCALL: u32 = 104; pub const KVM_CAP_CHECK_EXTENSION_VM: u32 = 105; pub const KVM_CAP_S390_USER_SIGP: u32 = 106; pub const KVM_CAP_S390_VECTOR_REGISTERS: u32 = 107; pub const KVM_CAP_S390_MEM_OP: u32 = 108; pub const KVM_CAP_S390_USER_STSI: u32 = 109; pub const KVM_CAP_S390_SKEYS: u32 = 110; pub const KVM_CAP_MIPS_FPU: u32 = 111; pub const KVM_CAP_MIPS_MSA: u32 = 112; pub const KVM_CAP_S390_INJECT_IRQ: u32 = 113; pub const KVM_CAP_S390_IRQ_STATE: u32 = 114; pub const KVM_CAP_PPC_HWRNG: u32 = 115; pub const KVM_CAP_DISABLE_QUIRKS: u32 = 116; pub const KVM_CAP_X86_SMM: u32 = 117; pub const KVM_CAP_MULTI_ADDRESS_SPACE: u32 = 118; pub const KVM_CAP_GUEST_DEBUG_HW_BPS: u32 = 119; pub const KVM_CAP_GUEST_DEBUG_HW_WPS: u32 = 120; pub const KVM_CAP_SPLIT_IRQCHIP: u32 = 121; pub const KVM_CAP_IOEVENTFD_ANY_LENGTH: u32 = 122; pub const KVM_CAP_HYPERV_SYNIC: u32 = 123; pub const KVM_CAP_S390_RI: u32 = 124; pub const KVM_CAP_SPAPR_TCE_64: u32 = 125; pub const KVM_CAP_ARM_PMU_V3: u32 = 126; pub const KVM_CAP_VCPU_ATTRIBUTES: u32 = 127; pub const KVM_CAP_MAX_VCPU_ID: u32 = 128; pub const KVM_CAP_X2APIC_API: u32 = 129; pub const KVM_CAP_S390_USER_INSTR0: u32 = 130; pub const KVM_CAP_MSI_DEVID: u32 = 131; pub const KVM_CAP_PPC_HTM: u32 = 132; pub const KVM_CAP_SPAPR_RESIZE_HPT: u32 = 133; pub const KVM_CAP_PPC_MMU_RADIX: u32 = 134; pub const KVM_CAP_PPC_MMU_HASH_V3: u32 = 135; pub const KVM_CAP_IMMEDIATE_EXIT: u32 = 136; pub const KVM_CAP_MIPS_VZ: u32 = 137; pub const KVM_CAP_MIPS_TE: u32 = 138; pub const KVM_CAP_MIPS_64BIT: u32 = 139; pub const KVM_CAP_S390_GS: u32 = 140; pub const KVM_CAP_S390_AIS: u32 = 141; pub const KVM_CAP_SPAPR_TCE_VFIO: u32 = 142; pub const KVM_CAP_X86_DISABLE_EXITS: u32 = 143; pub const KVM_CAP_ARM_USER_IRQ: u32 = 144; pub const KVM_CAP_S390_CMMA_MIGRATION: u32 = 145; pub const KVM_CAP_PPC_FWNMI: u32 = 146; pub const KVM_CAP_PPC_SMT_POSSIBLE: u32 = 147; pub const KVM_CAP_HYPERV_SYNIC2: u32 = 148; pub const KVM_CAP_HYPERV_VP_INDEX: u32 = 149; pub const KVM_CAP_S390_AIS_MIGRATION: u32 = 150; pub const KVM_CAP_PPC_GET_CPU_CHAR: u32 = 151; pub const KVM_CAP_S390_BPB: u32 = 152; pub const KVM_CAP_GET_MSR_FEATURES: u32 = 153; pub const KVM_CAP_HYPERV_EVENTFD: u32 = 154; pub const KVM_CAP_HYPERV_TLBFLUSH: u32 = 155; pub const KVM_CAP_S390_HPAGE_1M: u32 = 156; pub const KVM_CAP_NESTED_STATE: u32 = 157; pub const KVM_CAP_ARM_INJECT_SERROR_ESR: u32 = 158; pub const KVM_CAP_MSR_PLATFORM_INFO: u32 = 159; pub const KVM_CAP_PPC_NESTED_HV: u32 = 160; pub const KVM_CAP_HYPERV_SEND_IPI: u32 = 161; pub const KVM_CAP_COALESCED_PIO: u32 = 162; pub const KVM_CAP_HYPERV_ENLIGHTENED_VMCS: u32 = 163; pub const KVM_CAP_EXCEPTION_PAYLOAD: u32 = 164; pub const KVM_CAP_ARM_VM_IPA_SIZE: u32 = 165; pub const KVM_IRQ_ROUTING_IRQCHIP: u32 = 1; pub const KVM_IRQ_ROUTING_MSI: u32 = 2; pub const KVM_IRQ_ROUTING_S390_ADAPTER: u32 = 3; pub const KVM_IRQ_ROUTING_HV_SINT: u32 = 4; pub const KVM_IRQFD_FLAG_DEASSIGN: u32 = 1; pub const KVM_IRQFD_FLAG_RESAMPLE: u32 = 2; pub const KVM_CLOCK_TSC_STABLE: u32 = 2; pub const KVM_MMU_FSL_BOOKE_NOHV: u32 = 0; pub const KVM_MMU_FSL_BOOKE_HV: u32 = 1; pub const KVM_REG_ARCH_MASK: i64 = -72057594037927936; pub const KVM_REG_GENERIC: u32 = 0; pub const KVM_REG_PPC: u64 = 1152921504606846976; pub const KVM_REG_X86: u64 = 2305843009213693952; pub const KVM_REG_IA64: u64 = 3458764513820540928; pub const KVM_REG_ARM: u64 = 4611686018427387904; pub const KVM_REG_S390: u64 = 5764607523034234880; pub const KVM_REG_ARM64: u64 = 6917529027641081856; pub const KVM_REG_MIPS: u64 = 8070450532247928832; pub const KVM_REG_SIZE_SHIFT: u32 = 52; pub const KVM_REG_SIZE_MASK: u64 = 67553994410557440; pub const KVM_REG_SIZE_U8: u32 = 0; pub const KVM_REG_SIZE_U16: u64 = 4503599627370496; pub const KVM_REG_SIZE_U32: u64 = 9007199254740992; pub const KVM_REG_SIZE_U64: u64 = 13510798882111488; pub const KVM_REG_SIZE_U128: u64 = 18014398509481984; pub const KVM_REG_SIZE_U256: u64 = 22517998136852480; pub const KVM_REG_SIZE_U512: u64 = 27021597764222976; pub const KVM_REG_SIZE_U1024: u64 = 31525197391593472; pub const KVM_MSI_VALID_DEVID: u32 = 1; pub const KVM_CREATE_DEVICE_TEST: u32 = 1; pub const KVM_DEV_VFIO_GROUP: u32 = 1; pub const KVM_DEV_VFIO_GROUP_ADD: u32 = 1; pub const KVM_DEV_VFIO_GROUP_DEL: u32 = 2; pub const KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: u32 = 3; pub const KVM_S390_STORE_STATUS_NOADDR: i32 = -1; pub const KVM_S390_STORE_STATUS_PREFIXED: i32 = -2; pub const KVM_DEV_ASSIGN_ENABLE_IOMMU: u32 = 1; pub const KVM_DEV_ASSIGN_PCI_2_3: u32 = 2; pub const KVM_DEV_ASSIGN_MASK_INTX: u32 = 4; pub const KVM_DEV_IRQ_HOST_INTX: u32 = 1; pub const KVM_DEV_IRQ_HOST_MSI: u32 = 2; pub const KVM_DEV_IRQ_HOST_MSIX: u32 = 4; pub const KVM_DEV_IRQ_GUEST_INTX: u32 = 256; pub const KVM_DEV_IRQ_GUEST_MSI: u32 = 512; pub const KVM_DEV_IRQ_GUEST_MSIX: u32 = 1024; pub const KVM_DEV_IRQ_HOST_MASK: u32 = 255; pub const KVM_DEV_IRQ_GUEST_MASK: u32 = 65280; pub const KVM_MAX_MSIX_PER_DEV: u32 = 256; pub const KVM_X2APIC_API_USE_32BIT_IDS: u32 = 1; pub const KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK: u32 = 2; pub const KVM_ARM_DEV_EL1_VTIMER: u32 = 1; pub const KVM_ARM_DEV_EL1_PTIMER: u32 = 2; pub const KVM_ARM_DEV_PMU: u32 = 4; pub const KVM_HYPERV_CONN_ID_MASK: u32 = 16777215; pub const KVM_HYPERV_EVENTFD_DEASSIGN: u32 = 1; pub type __s8 = ::std::os::raw::c_schar; pub type __u8 = ::std::os::raw::c_uchar; pub type __s16 = ::std::os::raw::c_short; pub type __u16 = ::std::os::raw::c_ushort; pub type __s32 = ::std::os::raw::c_int; pub type __u32 = ::std::os::raw::c_uint; pub type __s64 = ::std::os::raw::c_longlong; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fd_set { pub fds_bits: [::std::os::raw::c_ulong; 16usize], } #[test] fn bindgen_test_layout___kernel_fd_set() { assert_eq!( ::std::mem::size_of::<__kernel_fd_set>(), 128usize, concat!("Size of: ", stringify!(__kernel_fd_set)) ); assert_eq!( ::std::mem::align_of::<__kernel_fd_set>(), 8usize, concat!("Alignment of ", stringify!(__kernel_fd_set)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits) ) ); } pub type __kernel_sighandler_t = ::std::option::Option; pub type __kernel_key_t = ::std::os::raw::c_int; pub type __kernel_mqd_t = ::std::os::raw::c_int; pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; pub type __kernel_long_t = ::std::os::raw::c_long; pub type __kernel_ulong_t = ::std::os::raw::c_ulong; pub type __kernel_ino_t = __kernel_ulong_t; pub type __kernel_mode_t = ::std::os::raw::c_uint; pub type __kernel_pid_t = ::std::os::raw::c_int; pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; pub type __kernel_uid_t = ::std::os::raw::c_uint; pub type __kernel_gid_t = ::std::os::raw::c_uint; pub type __kernel_suseconds_t = __kernel_long_t; pub type __kernel_daddr_t = ::std::os::raw::c_int; pub type __kernel_uid32_t = ::std::os::raw::c_uint; pub type __kernel_gid32_t = ::std::os::raw::c_uint; pub type __kernel_size_t = __kernel_ulong_t; pub type __kernel_ssize_t = __kernel_long_t; pub type __kernel_ptrdiff_t = __kernel_long_t; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct __kernel_fsid_t { pub val: [::std::os::raw::c_int; 2usize], } #[test] fn bindgen_test_layout___kernel_fsid_t() { assert_eq!( ::std::mem::size_of::<__kernel_fsid_t>(), 8usize, concat!("Size of: ", stringify!(__kernel_fsid_t)) ); assert_eq!( ::std::mem::align_of::<__kernel_fsid_t>(), 4usize, concat!("Alignment of ", stringify!(__kernel_fsid_t)) ); assert_eq!( unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val) ) ); } pub type __kernel_off_t = __kernel_long_t; pub type __kernel_loff_t = ::std::os::raw::c_longlong; pub type __kernel_time_t = __kernel_long_t; pub type __kernel_time64_t = ::std::os::raw::c_longlong; pub type __kernel_clock_t = __kernel_long_t; pub type __kernel_timer_t = ::std::os::raw::c_int; pub type __kernel_clockid_t = ::std::os::raw::c_int; pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; pub type __kernel_uid16_t = ::std::os::raw::c_ushort; pub type __kernel_gid16_t = ::std::os::raw::c_ushort; pub type __le16 = __u16; pub type __be16 = __u16; pub type __le32 = __u32; pub type __be32 = __u32; pub type __le64 = __u64; pub type __be64 = __u64; pub type __sum16 = __u16; pub type __wsum = __u32; pub type __poll_t = ::std::os::raw::c_uint; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_alias { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub target_phys_addr: __u64, } #[test] fn bindgen_test_layout_kvm_memory_alias() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_memory_alias)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_alias)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).target_phys_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_memory_alias), "::", stringify!(target_phys_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pic_state { pub last_irr: __u8, pub irr: __u8, pub imr: __u8, pub isr: __u8, pub priority_add: __u8, pub irq_base: __u8, pub read_reg_select: __u8, pub poll: __u8, pub special_mask: __u8, pub init_state: __u8, pub auto_eoi: __u8, pub rotate_on_auto_eoi: __u8, pub special_fully_nested_mode: __u8, pub init4: __u8, pub elcr: __u8, pub elcr_mask: __u8, } #[test] fn bindgen_test_layout_kvm_pic_state() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_pic_state)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_pic_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_irr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(last_irr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(irr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).imr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(imr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).isr as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(isr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).priority_add as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(priority_add) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq_base as *const _ as usize }, 5usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(irq_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).read_reg_select as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(read_reg_select) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).poll as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(poll) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).special_mask as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(special_mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).init_state as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(init_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).auto_eoi as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(auto_eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rotate_on_auto_eoi as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(rotate_on_auto_eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).special_fully_nested_mode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(special_fully_nested_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).init4 as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(init4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elcr as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(elcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).elcr_mask as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(kvm_pic_state), "::", stringify!(elcr_mask) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioapic_state { pub base_address: __u64, pub ioregsel: __u32, pub id: __u32, pub irr: __u32, pub pad: __u32, pub redirtbl: [kvm_ioapic_state__bindgen_ty_1; 24usize], } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_ioapic_state__bindgen_ty_1 { pub bits: __u64, pub fields: kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1, _bindgen_union_align: u64, } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { pub vector: __u8, pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>, pub reserved: [__u8; 4usize], pub dest_id: __u8, } #[test] fn bindgen_test_layout_kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!( "Size of: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), "::", stringify!(vector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dest_id as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1), "::", stringify!(dest_id) ) ); } impl kvm_ioapic_state__bindgen_ty_1__bindgen_ty_1 { #[inline] pub fn delivery_mode(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u8) } } #[inline] pub fn set_delivery_mode(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(0usize, 3u8, val as u64) } } #[inline] pub fn dest_mode(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } } #[inline] pub fn set_dest_mode(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(3usize, 1u8, val as u64) } } #[inline] pub fn delivery_status(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) } } #[inline] pub fn set_delivery_status(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(4usize, 1u8, val as u64) } } #[inline] pub fn polarity(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } } #[inline] pub fn set_polarity(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(5usize, 1u8, val as u64) } } #[inline] pub fn remote_irr(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } } #[inline] pub fn set_remote_irr(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(6usize, 1u8, val as u64) } } #[inline] pub fn trig_mode(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } } #[inline] pub fn set_trig_mode(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(7usize, 1u8, val as u64) } } #[inline] pub fn mask(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) } } #[inline] pub fn set_mask(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(8usize, 1u8, val as u64) } } #[inline] pub fn reserve(&self) -> __u8 { unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 7u8) as u8) } } #[inline] pub fn set_reserve(&mut self, val: __u8) { unsafe { let val: u8 = ::std::mem::transmute(val); self._bitfield_1.set(9usize, 7u8, val as u64) } } #[inline] pub fn new_bitfield_1( delivery_mode: __u8, dest_mode: __u8, delivery_status: __u8, polarity: __u8, remote_irr: __u8, trig_mode: __u8, mask: __u8, reserve: __u8, ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> { let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> = Default::default(); __bindgen_bitfield_unit.set(0usize, 3u8, { let delivery_mode: u8 = unsafe { ::std::mem::transmute(delivery_mode) }; delivery_mode as u64 }); __bindgen_bitfield_unit.set(3usize, 1u8, { let dest_mode: u8 = unsafe { ::std::mem::transmute(dest_mode) }; dest_mode as u64 }); __bindgen_bitfield_unit.set(4usize, 1u8, { let delivery_status: u8 = unsafe { ::std::mem::transmute(delivery_status) }; delivery_status as u64 }); __bindgen_bitfield_unit.set(5usize, 1u8, { let polarity: u8 = unsafe { ::std::mem::transmute(polarity) }; polarity as u64 }); __bindgen_bitfield_unit.set(6usize, 1u8, { let remote_irr: u8 = unsafe { ::std::mem::transmute(remote_irr) }; remote_irr as u64 }); __bindgen_bitfield_unit.set(7usize, 1u8, { let trig_mode: u8 = unsafe { ::std::mem::transmute(trig_mode) }; trig_mode as u64 }); __bindgen_bitfield_unit.set(8usize, 1u8, { let mask: u8 = unsafe { ::std::mem::transmute(mask) }; mask as u64 }); __bindgen_bitfield_unit.set(9usize, 7u8, { let reserve: u8 = unsafe { ::std::mem::transmute(reserve) }; reserve as u64 }); __bindgen_bitfield_unit } } #[test] fn bindgen_test_layout_kvm_ioapic_state__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ioapic_state__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioapic_state__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bits as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1), "::", stringify!(bits) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fields as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state__bindgen_ty_1), "::", stringify!(fields) ) ); } impl Default for kvm_ioapic_state__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_ioapic_state() { assert_eq!( ::std::mem::size_of::(), 216usize, concat!("Size of: ", stringify!(kvm_ioapic_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioapic_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(base_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ioregsel as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(ioregsel) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(irr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).redirtbl as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioapic_state), "::", stringify!(redirtbl) ) ); } impl Default for kvm_ioapic_state { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_regs { pub rax: __u64, pub rbx: __u64, pub rcx: __u64, pub rdx: __u64, pub rsi: __u64, pub rdi: __u64, pub rsp: __u64, pub rbp: __u64, pub r8: __u64, pub r9: __u64, pub r10: __u64, pub r11: __u64, pub r12: __u64, pub r13: __u64, pub r14: __u64, pub r15: __u64, pub rip: __u64, pub rflags: __u64, } #[test] fn bindgen_test_layout_kvm_regs() { assert_eq!( ::std::mem::size_of::(), 144usize, concat!("Size of: ", stringify!(kvm_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rax as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rbx as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rbx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rcx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rcx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rdx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rdx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rsi as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rdi as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rdi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rsp as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rsp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rbp as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rbp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r8 as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r9 as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r10 as *const _ as usize }, 80usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r11 as *const _ as usize }, 88usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r12 as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r13 as *const _ as usize }, 104usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r14 as *const _ as usize }, 112usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).r15 as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(r15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rflags as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(kvm_regs), "::", stringify!(rflags) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_lapic_state { pub regs: [::std::os::raw::c_char; 1024usize], } #[test] fn bindgen_test_layout_kvm_lapic_state() { assert_eq!( ::std::mem::size_of::(), 1024usize, concat!("Size of: ", stringify!(kvm_lapic_state)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_lapic_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_lapic_state), "::", stringify!(regs) ) ); } impl Default for kvm_lapic_state { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_segment { pub base: __u64, pub limit: __u32, pub selector: __u16, pub type_: __u8, pub present: __u8, pub dpl: __u8, pub db: __u8, pub s: __u8, pub l: __u8, pub g: __u8, pub avl: __u8, pub unusable: __u8, pub padding: __u8, } #[test] fn bindgen_test_layout_kvm_segment() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_segment)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_segment)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).limit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(limit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).selector as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(selector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).present as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(present) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dpl as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(dpl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).db as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(db) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(s) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).l as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(l) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).g as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(g) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).avl as *const _ as usize }, 21usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(avl) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).unusable as *const _ as usize }, 22usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(unusable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 23usize, concat!( "Offset of field: ", stringify!(kvm_segment), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dtable { pub base: __u64, pub limit: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_dtable() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dtable)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dtable)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).base as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dtable), "::", stringify!(base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).limit as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dtable), "::", stringify!(limit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_dtable), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sregs { pub cs: kvm_segment, pub ds: kvm_segment, pub es: kvm_segment, pub fs: kvm_segment, pub gs: kvm_segment, pub ss: kvm_segment, pub tr: kvm_segment, pub ldt: kvm_segment, pub gdt: kvm_dtable, pub idt: kvm_dtable, pub cr0: __u64, pub cr2: __u64, pub cr3: __u64, pub cr4: __u64, pub cr8: __u64, pub efer: __u64, pub apic_base: __u64, pub interrupt_bitmap: [__u64; 4usize], } #[test] fn bindgen_test_layout_kvm_sregs() { assert_eq!( ::std::mem::size_of::(), 312usize, concat!("Size of: ", stringify!(kvm_sregs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sregs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ds as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(ds) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).es as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(es) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fs as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(fs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gs as *const _ as usize }, 96usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(gs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ss as *const _ as usize }, 120usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(ss) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tr as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(tr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ldt as *const _ as usize }, 168usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(ldt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gdt as *const _ as usize }, 192usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(gdt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).idt as *const _ as usize }, 208usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(idt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr0 as *const _ as usize }, 224usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr0) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr2 as *const _ as usize }, 232usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr3 as *const _ as usize }, 240usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr4 as *const _ as usize }, 248usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 256usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).efer as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(efer) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 272usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interrupt_bitmap as *const _ as usize }, 280usize, concat!( "Offset of field: ", stringify!(kvm_sregs), "::", stringify!(interrupt_bitmap) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_fpu { pub fpr: [[__u8; 16usize]; 8usize], pub fcw: __u16, pub fsw: __u16, pub ftwx: __u8, pub pad1: __u8, pub last_opcode: __u16, pub last_ip: __u64, pub last_dp: __u64, pub xmm: [[__u8; 16usize]; 16usize], pub mxcsr: __u32, pub pad2: __u32, } #[test] fn bindgen_test_layout_kvm_fpu() { assert_eq!( ::std::mem::size_of::(), 416usize, concat!("Size of: ", stringify!(kvm_fpu)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_fpu)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fpr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(fpr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fcw as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(fcw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fsw as *const _ as usize }, 130usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(fsw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ftwx as *const _ as usize }, 132usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(ftwx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad1 as *const _ as usize }, 133usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(pad1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_opcode as *const _ as usize }, 134usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(last_opcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_ip as *const _ as usize }, 136usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(last_ip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last_dp as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(last_dp) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xmm as *const _ as usize }, 152usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(xmm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mxcsr as *const _ as usize }, 408usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(mxcsr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad2 as *const _ as usize }, 412usize, concat!( "Offset of field: ", stringify!(kvm_fpu), "::", stringify!(pad2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msr_entry { pub index: __u32, pub reserved: __u32, pub data: __u64, } #[test] fn bindgen_test_layout_kvm_msr_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_msr_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_msr_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).index as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msr_entry), "::", stringify!(index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msr_entry), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msr_entry), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_msrs { pub nmsrs: __u32, pub pad: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_msrs() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_msrs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_msrs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nmsrs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msrs), "::", stringify!(nmsrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msrs), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msrs), "::", stringify!(entries) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_msr_list { pub nmsrs: __u32, pub indices: __IncompleteArrayField<__u32>, } #[test] fn bindgen_test_layout_kvm_msr_list() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_msr_list)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msr_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nmsrs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msr_list), "::", stringify!(nmsrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).indices as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msr_list), "::", stringify!(indices) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_cpuid_entry { pub function: __u32, pub eax: __u32, pub ebx: __u32, pub ecx: __u32, pub edx: __u32, pub padding: __u32, } #[test] fn bindgen_test_layout_kvm_cpuid_entry() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_cpuid_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eax as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(eax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ebx as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(ebx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ecx as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(ecx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).edx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(edx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_cpuid { pub nent: __u32, pub padding: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_cpuid() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_cpuid)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid), "::", stringify!(nent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid), "::", stringify!(entries) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_cpuid_entry2 { pub function: __u32, pub index: __u32, pub flags: __u32, pub eax: __u32, pub ebx: __u32, pub ecx: __u32, pub edx: __u32, pub padding: [__u32; 3usize], } #[test] fn bindgen_test_layout_kvm_cpuid_entry2() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_cpuid_entry2)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid_entry2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).function as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(function) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).index as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(index) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eax as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(eax) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ebx as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(ebx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ecx as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(ecx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).edx as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(edx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_cpuid_entry2), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_cpuid2 { pub nent: __u32, pub padding: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_cpuid2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_cpuid2)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_cpuid2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nent as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_cpuid2), "::", stringify!(nent) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_cpuid2), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_cpuid2), "::", stringify!(entries) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_channel_state { pub count: __u32, pub latched_count: __u16, pub count_latched: __u8, pub status_latched: __u8, pub status: __u8, pub read_state: __u8, pub write_state: __u8, pub write_latch: __u8, pub rw_mode: __u8, pub mode: __u8, pub bcd: __u8, pub gate: __u8, pub count_load_time: __s64, } #[test] fn bindgen_test_layout_kvm_pit_channel_state() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_pit_channel_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_pit_channel_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).latched_count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(latched_count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count_latched as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(count_latched) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status_latched as *const _ as usize }, 7usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(status_latched) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).read_state as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(read_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).write_state as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(write_state) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).write_latch as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(write_latch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rw_mode as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(rw_mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mode as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(mode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bcd as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(bcd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gate as *const _ as usize }, 15usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(gate) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count_load_time as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_pit_channel_state), "::", stringify!(count_load_time) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_exit_arch { pub exception: __u32, pub pad: __u32, pub pc: __u64, pub dr6: __u64, pub dr7: __u64, } #[test] fn bindgen_test_layout_kvm_debug_exit_arch() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_exit_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(pc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr6 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(dr6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr7 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_debug_exit_arch), "::", stringify!(dr7) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug_arch { pub debugreg: [__u64; 8usize], } #[test] fn bindgen_test_layout_kvm_guest_debug_arch() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug_arch)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debugreg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug_arch), "::", stringify!(debugreg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_state { pub channels: [kvm_pit_channel_state; 3usize], } #[test] fn bindgen_test_layout_kvm_pit_state() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_pit_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_pit_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).channels as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_state), "::", stringify!(channels) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_state2 { pub channels: [kvm_pit_channel_state; 3usize], pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_pit_state2() { assert_eq!( ::std::mem::size_of::(), 112usize, concat!("Size of: ", stringify!(kvm_pit_state2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_pit_state2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).channels as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_state2), "::", stringify!(channels) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_pit_state2), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 76usize, concat!( "Offset of field: ", stringify!(kvm_pit_state2), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_reinject_control { pub pit_reinject: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_reinject_control() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_reinject_control)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_reinject_control)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pit_reinject as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reinject_control), "::", stringify!(pit_reinject) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_reinject_control), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events { pub exception: kvm_vcpu_events__bindgen_ty_1, pub interrupt: kvm_vcpu_events__bindgen_ty_2, pub nmi: kvm_vcpu_events__bindgen_ty_3, pub sipi_vector: __u32, pub flags: __u32, pub smi: kvm_vcpu_events__bindgen_ty_4, pub reserved: [__u8; 27usize], pub exception_has_payload: __u8, pub exception_payload: __u64, } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_1 { pub injected: __u8, pub nr: __u8, pub has_error_code: __u8, pub pending: __u8, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).injected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(injected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).has_error_code as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(has_error_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pending as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_1), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_2 { pub injected: __u8, pub nr: __u8, pub soft: __u8, pub shadow: __u8, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).injected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(injected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).soft as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(soft) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shadow as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_2), "::", stringify!(shadow) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_3 { pub injected: __u8, pub pending: __u8, pub masked: __u8, pub pad: __u8, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_3)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).injected as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(injected) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pending as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).masked as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(masked) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_3), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vcpu_events__bindgen_ty_4 { pub smm: __u8, pub pending: __u8, pub smm_inside_nmi: __u8, pub latched_init: __u8, } #[test] fn bindgen_test_layout_kvm_vcpu_events__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_vcpu_events__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!("Alignment of ", stringify!(kvm_vcpu_events__bindgen_ty_4)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(smm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pending as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(pending) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smm_inside_nmi as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(smm_inside_nmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).latched_init as *const _ as usize }, 3usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events__bindgen_ty_4), "::", stringify!(latched_init) ) ); } #[test] fn bindgen_test_layout_kvm_vcpu_events() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_vcpu_events)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vcpu_events)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).interrupt as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(interrupt) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nmi as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(nmi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sipi_vector as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(sipi_vector) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smi as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(smi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception_has_payload as *const _ as usize }, 55usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(exception_has_payload) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception_payload as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_vcpu_events), "::", stringify!(exception_payload) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debugregs { pub db: [__u64; 4usize], pub dr6: __u64, pub dr7: __u64, pub flags: __u64, pub reserved: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_debugregs() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_debugregs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debugregs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).db as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(db) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr6 as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(dr6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dr7 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(dr7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 48usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_debugregs), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_xsave { pub region: [__u32; 1024usize], } #[test] fn bindgen_test_layout_kvm_xsave() { assert_eq!( ::std::mem::size_of::(), 4096usize, concat!("Size of: ", stringify!(kvm_xsave)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_xsave)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).region as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xsave), "::", stringify!(region) ) ); } impl Default for kvm_xsave { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_xcr { pub xcr: __u32, pub reserved: __u32, pub value: __u64, } #[test] fn bindgen_test_layout_kvm_xcr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_xcr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_xcr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xcr), "::", stringify!(xcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_xcr), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).value as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_xcr), "::", stringify!(value) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_xcrs { pub nr_xcrs: __u32, pub flags: __u32, pub xcrs: [kvm_xcr; 16usize], pub padding: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_xcrs() { assert_eq!( ::std::mem::size_of::(), 392usize, concat!("Size of: ", stringify!(kvm_xcrs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_xcrs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr_xcrs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(nr_xcrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).xcrs as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(xcrs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 264usize, concat!( "Offset of field: ", stringify!(kvm_xcrs), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sync_regs { pub regs: kvm_regs, pub sregs: kvm_sregs, pub events: kvm_vcpu_events, } #[test] fn bindgen_test_layout_kvm_sync_regs() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_sync_regs)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sync_regs)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sregs as *const _ as usize }, 144usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(sregs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).events as *const _ as usize }, 456usize, concat!( "Offset of field: ", stringify!(kvm_sync_regs), "::", stringify!(events) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vmx_nested_state { pub vmxon_pa: __u64, pub vmcs_pa: __u64, pub smm: kvm_vmx_nested_state__bindgen_ty_1, } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vmx_nested_state__bindgen_ty_1 { pub flags: __u16, } #[test] fn bindgen_test_layout_kvm_vmx_nested_state__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_vmx_nested_state__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!( "Alignment of ", stringify!(kvm_vmx_nested_state__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vmx_nested_state__bindgen_ty_1), "::", stringify!(flags) ) ); } #[test] fn bindgen_test_layout_kvm_vmx_nested_state() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_vmx_nested_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vmx_nested_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vmxon_pa as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vmx_nested_state), "::", stringify!(vmxon_pa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vmcs_pa as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_vmx_nested_state), "::", stringify!(vmcs_pa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).smm as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_vmx_nested_state), "::", stringify!(smm) ) ); } #[repr(C)] pub struct kvm_nested_state { pub flags: __u16, pub format: __u16, pub size: __u32, pub __bindgen_anon_1: kvm_nested_state__bindgen_ty_1, pub data: __IncompleteArrayField<__u8>, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_nested_state__bindgen_ty_1 { pub vmx: kvm_vmx_nested_state, pub pad: [__u8; 120usize], _bindgen_union_align: [u64; 15usize], } #[test] fn bindgen_test_layout_kvm_nested_state__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 120usize, concat!("Size of: ", stringify!(kvm_nested_state__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_nested_state__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vmx as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_nested_state__bindgen_ty_1), "::", stringify!(vmx) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_nested_state__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_nested_state__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_nested_state() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_nested_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_nested_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_nested_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).format as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_nested_state), "::", stringify!(format) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_nested_state), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 128usize, concat!( "Offset of field: ", stringify!(kvm_nested_state), "::", stringify!(data) ) ); } impl Default for kvm_nested_state { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_user_trace_setup { pub buf_size: __u32, pub buf_nr: __u32, } #[test] fn bindgen_test_layout_kvm_user_trace_setup() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_user_trace_setup)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_user_trace_setup)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_size as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_user_trace_setup), "::", stringify!(buf_nr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_breakpoint { pub enabled: __u32, pub padding: __u32, pub address: __u64, } #[test] fn bindgen_test_layout_kvm_breakpoint() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_breakpoint)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_breakpoint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(padding) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_breakpoint), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_debug_guest { pub enabled: __u32, pub pad: __u32, pub breakpoints: [kvm_breakpoint; 4usize], pub singlestep: __u32, } #[test] fn bindgen_test_layout_kvm_debug_guest() { assert_eq!( ::std::mem::size_of::(), 80usize, concat!("Size of: ", stringify!(kvm_debug_guest)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_debug_guest)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).breakpoints as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(breakpoints) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).singlestep as *const _ as usize }, 72usize, concat!( "Offset of field: ", stringify!(kvm_debug_guest), "::", stringify!(singlestep) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, } #[test] fn bindgen_test_layout_kvm_memory_region() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_memory_region), "::", stringify!(memory_size) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_userspace_memory_region { pub slot: __u32, pub flags: __u32, pub guest_phys_addr: __u64, pub memory_size: __u64, pub userspace_addr: __u64, } #[test] fn bindgen_test_layout_kvm_userspace_memory_region() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_userspace_memory_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_phys_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(guest_phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).memory_size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(memory_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).userspace_addr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_userspace_memory_region), "::", stringify!(userspace_addr) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_level { pub __bindgen_anon_1: kvm_irq_level__bindgen_ty_1, pub level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_level__bindgen_ty_1 { pub irq: __u32, pub status: __s32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_level__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_level__bindgen_ty_1), "::", stringify!(status) ) ); } impl Default for kvm_irq_level__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_level() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_level)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_level)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).level as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_level), "::", stringify!(level) ) ); } impl Default for kvm_irq_level { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irqchip { pub chip_id: __u32, pub pad: __u32, pub chip: kvm_irqchip__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irqchip__bindgen_ty_1 { pub dummy: [::std::os::raw::c_char; 512usize], pub pic: kvm_pic_state, pub ioapic: kvm_ioapic_state, _bindgen_union_align: [u64; 64usize], } #[test] fn bindgen_test_layout_kvm_irqchip__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 512usize, concat!("Size of: ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irqchip__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dummy as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(dummy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(pic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ioapic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip__bindgen_ty_1), "::", stringify!(ioapic) ) ); } impl Default for kvm_irqchip__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irqchip() { assert_eq!( ::std::mem::size_of::(), 520usize, concat!("Size of: ", stringify!(kvm_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).chip as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqchip), "::", stringify!(chip) ) ); } impl Default for kvm_irqchip { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_pit_config { pub flags: __u32, pub pad: [__u32; 15usize], } #[test] fn bindgen_test_layout_kvm_pit_config() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_pit_config)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_pit_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_pit_config), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_skeys { pub start_gfn: __u64, pub count: __u64, pub skeydata_addr: __u64, pub flags: __u32, pub reserved: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_s390_skeys() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_skeys)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_skeys)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).skeydata_addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(skeydata_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_skeys), "::", stringify!(reserved) ) ); } #[doc = " kvm_s390_cmma_log - Used for CMMA migration."] #[doc = ""] #[doc = " Used both for input and output."] #[doc = ""] #[doc = " @start_gfn: Guest page number to start from."] #[doc = " @count: Size of the result buffer."] #[doc = " @flags: Control operation mode via KVM_S390_CMMA_* flags"] #[doc = " @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty"] #[doc = " pages are still remaining."] #[doc = " @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set"] #[doc = " in the PGSTE."] #[doc = " @values: Pointer to the values buffer."] #[doc = ""] #[doc = " Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls."] #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_cmma_log { pub start_gfn: __u64, pub count: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_s390_cmma_log__bindgen_ty_1, pub values: __u64, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_cmma_log__bindgen_ty_1 { pub remaining: __u64, pub mask: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_s390_cmma_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).remaining as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(remaining) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log__bindgen_ty_1), "::", stringify!(mask) ) ); } impl Default for kvm_s390_cmma_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_cmma_log() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_cmma_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).start_gfn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(start_gfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).values as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_cmma_log), "::", stringify!(values) ) ); } impl Default for kvm_s390_cmma_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_hyperv_exit { pub type_: __u32, pub u: kvm_hyperv_exit__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_hyperv_exit__bindgen_ty_1 { pub synic: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1, pub hcall: kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2, _bindgen_union_align: [u64; 4usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1 { pub msr: __u32, pub control: __u64, pub evt_page: __u64, pub msg_page: __u64, } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).evt_page as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(evt_page) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msg_page as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_1), "::", stringify!(msg_page) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2 { pub input: __u64, pub result: __u64, pub params: [__u64; 2usize], } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!( "Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).input as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(input) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).result as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(result) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1__bindgen_ty_2), "::", stringify!(params) ) ); } #[test] fn bindgen_test_layout_kvm_hyperv_exit__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).synic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(synic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit__bindgen_ty_1), "::", stringify!(hcall) ) ); } impl Default for kvm_hyperv_exit__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_hyperv_exit() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_hyperv_exit)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_hyperv_exit)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_exit), "::", stringify!(u) ) ); } impl Default for kvm_hyperv_exit { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_run { pub request_interrupt_window: __u8, pub immediate_exit: __u8, pub padding1: [__u8; 6usize], pub exit_reason: __u32, pub ready_for_interrupt_injection: __u8, pub if_flag: __u8, pub flags: __u16, pub cr8: __u64, pub apic_base: __u64, pub __bindgen_anon_1: kvm_run__bindgen_ty_1, pub kvm_valid_regs: __u64, pub kvm_dirty_regs: __u64, pub s: kvm_run__bindgen_ty_2, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_1 { pub hw: kvm_run__bindgen_ty_1__bindgen_ty_1, pub fail_entry: kvm_run__bindgen_ty_1__bindgen_ty_2, pub ex: kvm_run__bindgen_ty_1__bindgen_ty_3, pub io: kvm_run__bindgen_ty_1__bindgen_ty_4, pub debug: kvm_run__bindgen_ty_1__bindgen_ty_5, pub mmio: kvm_run__bindgen_ty_1__bindgen_ty_6, pub hypercall: kvm_run__bindgen_ty_1__bindgen_ty_7, pub tpr_access: kvm_run__bindgen_ty_1__bindgen_ty_8, pub s390_sieic: kvm_run__bindgen_ty_1__bindgen_ty_9, pub s390_reset_flags: __u64, pub s390_ucontrol: kvm_run__bindgen_ty_1__bindgen_ty_10, pub dcr: kvm_run__bindgen_ty_1__bindgen_ty_11, pub internal: kvm_run__bindgen_ty_1__bindgen_ty_12, pub osi: kvm_run__bindgen_ty_1__bindgen_ty_13, pub papr_hcall: kvm_run__bindgen_ty_1__bindgen_ty_14, pub s390_tsch: kvm_run__bindgen_ty_1__bindgen_ty_15, pub epr: kvm_run__bindgen_ty_1__bindgen_ty_16, pub system_event: kvm_run__bindgen_ty_1__bindgen_ty_17, pub s390_stsi: kvm_run__bindgen_ty_1__bindgen_ty_18, pub eoi: kvm_run__bindgen_ty_1__bindgen_ty_19, pub hyperv: kvm_hyperv_exit, pub padding: [::std::os::raw::c_char; 256usize], _bindgen_union_align: [u64; 32usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_1 { pub hardware_exit_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hardware_exit_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_1), "::", stringify!(hardware_exit_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_2 { pub hardware_entry_failure_reason: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())) .hardware_entry_failure_reason as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_2), "::", stringify!(hardware_entry_failure_reason) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_3 { pub exception: __u32, pub error_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_3() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exception as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(exception) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error_code as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_3), "::", stringify!(error_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_4 { pub direction: __u8, pub size: __u8, pub port: __u16, pub count: __u32, pub data_offset: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_4() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).direction as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(direction) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).port as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(port) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).count as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(count) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_offset as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_4), "::", stringify!(data_offset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_5 { pub arch: kvm_debug_exit_arch, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_5() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_5), "::", stringify!(arch) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_6 { pub phys_addr: __u64, pub data: [__u8; 8usize], pub len: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_6() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_6), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_7 { pub nr: __u64, pub args: [__u64; 6usize], pub ret: __u64, pub longmode: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_7() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 56usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).longmode as *const _ as usize }, 64usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(longmode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 68usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_7), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_8 { pub rip: __u64, pub is_write: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_8() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).rip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(rip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(is_write) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_8), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_9 { pub icptcode: __u8, pub ipa: __u16, pub ipb: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_9() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).icptcode as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(icptcode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipa as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipa) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_9), "::", stringify!(ipb) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_10 { pub trans_exc_code: __u64, pub pgm_code: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_10() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_10), "::", stringify!(pgm_code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_11 { pub dcrn: __u32, pub data: __u32, pub is_write: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_11() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcrn as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(dcrn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).is_write as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_11), "::", stringify!(is_write) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_12 { pub suberror: __u32, pub ndata: __u32, pub data: [__u64; 16usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_12() { assert_eq!( ::std::mem::size_of::(), 136usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).suberror as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(suberror) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ndata as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(ndata) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_12), "::", stringify!(data) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_13 { pub gprs: [__u64; 32usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_13() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gprs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_13), "::", stringify!(gprs) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_14 { pub nr: __u64, pub ret: __u64, pub args: [__u64; 9usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_14() { assert_eq!( ::std::mem::size_of::(), 88usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ret as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(ret) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_14), "::", stringify!(args) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_15 { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, pub ipb: __u32, pub dequeued: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_15() { assert_eq!( ::std::mem::size_of::(), 20usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(io_int_word) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ipb as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(ipb) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dequeued as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_15), "::", stringify!(dequeued) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_16 { pub epr: __u32, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_16() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_16), "::", stringify!(epr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_17 { pub type_: __u32, pub flags: __u64, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_17() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_17), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_18 { pub addr: __u64, pub ar: __u8, pub reserved: __u8, pub fc: __u8, pub sel1: __u8, pub sel2: __u16, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_18() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 9usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(reserved) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fc as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(fc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel1 as *const _ as usize }, 11usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sel2 as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_18), "::", stringify!(sel2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_run__bindgen_ty_1__bindgen_ty_19 { pub vector: __u8, } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1__bindgen_ty_19() { assert_eq!( ::std::mem::size_of::(), 1usize, concat!( "Size of: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( ::std::mem::align_of::(), 1usize, concat!( "Alignment of ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vector as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1__bindgen_ty_19), "::", stringify!(vector) ) ); } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 256usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hw as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hw) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fail_entry as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(fail_entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ex as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(ex) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).debug as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(debug) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(mmio) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hypercall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hypercall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tpr_access as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(tpr_access) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_sieic as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_sieic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_reset_flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_reset_flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_ucontrol as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_ucontrol) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dcr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(dcr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).internal as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(internal) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).osi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(osi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).papr_hcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(papr_hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_tsch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_tsch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).epr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(epr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).system_event as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(system_event) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s390_stsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(s390_stsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).eoi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(eoi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hyperv as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(hyperv) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_1), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_run__bindgen_ty_2 { pub regs: kvm_sync_regs, pub padding: [::std::os::raw::c_char; 2048usize], _bindgen_union_align: [u64; 256usize], } #[test] fn bindgen_test_layout_kvm_run__bindgen_ty_2() { assert_eq!( ::std::mem::size_of::(), 2048usize, concat!("Size of: ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run__bindgen_ty_2)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).regs as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run__bindgen_ty_2), "::", stringify!(padding) ) ); } impl Default for kvm_run__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_run() { assert_eq!( ::std::mem::size_of::(), 2352usize, concat!("Size of: ", stringify!(kvm_run)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_run)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).request_interrupt_window as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(request_interrupt_window) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).immediate_exit as *const _ as usize }, 1usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(immediate_exit) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(padding1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exit_reason as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(exit_reason) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ready_for_interrupt_injection as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(ready_for_interrupt_injection) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).if_flag as *const _ as usize }, 13usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(if_flag) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr8 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(cr8) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).apic_base as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(apic_base) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_valid_regs as *const _ as usize }, 288usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_valid_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).kvm_dirty_regs as *const _ as usize }, 296usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(kvm_dirty_regs) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).s as *const _ as usize }, 304usize, concat!( "Offset of field: ", stringify!(kvm_run), "::", stringify!(s) ) ); } impl Default for kvm_run { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_coalesced_mmio_zone { pub addr: __u64, pub size: __u32, pub __bindgen_anon_1: kvm_coalesced_mmio_zone__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_coalesced_mmio_zone__bindgen_ty_1 { pub pad: __u32, pub pio: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!( "Size of: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1) ) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone__bindgen_ty_1), "::", stringify!(pio) ) ); } impl Default for kvm_coalesced_mmio_zone__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_zone() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_zone)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_zone), "::", stringify!(size) ) ); } impl Default for kvm_coalesced_mmio_zone { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_coalesced_mmio { pub phys_addr: __u64, pub len: __u32, pub __bindgen_anon_1: kvm_coalesced_mmio__bindgen_ty_1, pub data: [__u8; 8usize], } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_coalesced_mmio__bindgen_ty_1 { pub pad: __u32, pub pio: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_coalesced_mmio__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pio as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio__bindgen_ty_1), "::", stringify!(pio) ) ); } impl Default for kvm_coalesced_mmio__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_coalesced_mmio() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).phys_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(phys_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio), "::", stringify!(data) ) ); } impl Default for kvm_coalesced_mmio { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_coalesced_mmio_ring { pub first: __u32, pub last: __u32, pub coalesced_mmio: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_coalesced_mmio_ring() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_coalesced_mmio_ring)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).first as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(first) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).last as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(last) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).coalesced_mmio as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_coalesced_mmio_ring), "::", stringify!(coalesced_mmio) ) ); } impl Default for kvm_coalesced_mmio_ring { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_translation { pub linear_address: __u64, pub physical_address: __u64, pub valid: __u8, pub writeable: __u8, pub usermode: __u8, pub pad: [__u8; 5usize], } #[test] fn bindgen_test_layout_kvm_translation() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_translation)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_translation)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).linear_address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(linear_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).physical_address as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(physical_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).valid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(valid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).writeable as *const _ as usize }, 17usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(writeable) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).usermode as *const _ as usize }, 18usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(usermode) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 19usize, concat!( "Offset of field: ", stringify!(kvm_translation), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mem_op { pub gaddr: __u64, pub flags: __u64, pub size: __u32, pub op: __u32, pub buf: __u64, pub ar: __u8, pub reserved: [__u8; 31usize], } #[test] fn bindgen_test_layout_kvm_s390_mem_op() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_mem_op)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mem_op)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(gaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(op) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ar as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(ar) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_mem_op), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_interrupt { pub irq: __u32, } #[test] fn bindgen_test_layout_kvm_interrupt() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irq as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_interrupt), "::", stringify!(irq) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_dirty_log { pub slot: __u32, pub padding1: __u32, pub __bindgen_anon_1: kvm_dirty_log__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_dirty_log__bindgen_ty_1 { pub dirty_bitmap: *mut ::std::os::raw::c_void, pub padding2: __u64, _bindgen_union_align: u64, } #[test] fn bindgen_test_layout_kvm_dirty_log__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dirty_bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(dirty_bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding2 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log__bindgen_ty_1), "::", stringify!(padding2) ) ); } impl Default for kvm_dirty_log__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_dirty_log() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_log)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_log)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slot as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(slot) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding1 as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_dirty_log), "::", stringify!(padding1) ) ); } impl Default for kvm_dirty_log { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_signal_mask { pub len: __u32, pub sigset: __IncompleteArrayField<__u8>, } #[test] fn bindgen_test_layout_kvm_signal_mask() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_signal_mask)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_signal_mask)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sigset as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_signal_mask), "::", stringify!(sigset) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_tpr_access_ctl { pub enabled: __u32, pub flags: __u32, pub reserved: [__u32; 8usize], } #[test] fn bindgen_test_layout_kvm_tpr_access_ctl() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_tpr_access_ctl)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enabled as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(enabled) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_tpr_access_ctl), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vapic_addr { pub vapic_addr: __u64, } #[test] fn bindgen_test_layout_kvm_vapic_addr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vapic_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_vapic_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vapic_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vapic_addr), "::", stringify!(vapic_addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_mp_state { pub mp_state: __u32, } #[test] fn bindgen_test_layout_kvm_mp_state() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_mp_state)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_mp_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mp_state as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_mp_state), "::", stringify!(mp_state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_psw { pub mask: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_s390_psw() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_psw)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_psw)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mask as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(mask) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_psw), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_interrupt { pub type_: __u32, pub parm: __u32, pub parm64: __u64, } #[test] fn bindgen_test_layout_kvm_s390_interrupt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_interrupt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_interrupt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).parm64 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_interrupt), "::", stringify!(parm64) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_io_info { pub subchannel_id: __u16, pub subchannel_nr: __u16, pub io_int_parm: __u32, pub io_int_word: __u32, } #[test] fn bindgen_test_layout_kvm_s390_io_info() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_s390_io_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_io_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).subchannel_nr as *const _ as usize }, 2usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(subchannel_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_parm as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_parm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io_int_word as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_io_info), "::", stringify!(io_int_word) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ext_info { pub ext_params: __u32, pub pad: __u32, pub ext_params2: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ext_info() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_s390_ext_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ext_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_params2 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ext_info), "::", stringify!(ext_params2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_pgm_info { pub trans_exc_code: __u64, pub mon_code: __u64, pub per_address: __u64, pub data_exc_code: __u32, pub code: __u16, pub mon_class_nr: __u16, pub per_code: __u8, pub per_atmid: __u8, pub exc_access_id: __u8, pub per_access_id: __u8, pub op_access_id: __u8, pub flags: __u8, pub pad: [__u8; 2usize], } #[test] fn bindgen_test_layout_kvm_s390_pgm_info() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_pgm_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_exc_code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(trans_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_code as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_exc_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(data_exc_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mon_class_nr as *const _ as usize }, 30usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(mon_class_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_code as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_atmid as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_atmid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).exc_access_id as *const _ as usize }, 34usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(exc_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).per_access_id as *const _ as usize }, 35usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(per_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).op_access_id as *const _ as usize }, 36usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(op_access_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 37usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 38usize, concat!( "Offset of field: ", stringify!(kvm_s390_pgm_info), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_prefix_info { pub address: __u32, } #[test] fn bindgen_test_layout_kvm_s390_prefix_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_prefix_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_prefix_info), "::", stringify!(address) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_extcall_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_extcall_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_extcall_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_extcall_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_emerg_info { pub code: __u16, } #[test] fn bindgen_test_layout_kvm_s390_emerg_info() { assert_eq!( ::std::mem::size_of::(), 2usize, concat!("Size of: ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( ::std::mem::align_of::(), 2usize, concat!("Alignment of ", stringify!(kvm_s390_emerg_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).code as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_emerg_info), "::", stringify!(code) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_stop_info { pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_s390_stop_info() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_s390_stop_info)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_s390_stop_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_stop_info), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_mchk_info { pub cr14: __u64, pub mcic: __u64, pub failing_storage_address: __u64, pub ext_damage_code: __u32, pub pad: __u32, pub fixed_logout: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_s390_mchk_info() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_mchk_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cr14 as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(cr14) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcic as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(mcic) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).failing_storage_address as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(failing_storage_address) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext_damage_code as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(ext_damage_code) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fixed_logout as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_s390_mchk_info), "::", stringify!(fixed_logout) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_s390_irq { pub type_: __u64, pub u: kvm_s390_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_s390_irq__bindgen_ty_1 { pub io: kvm_s390_io_info, pub ext: kvm_s390_ext_info, pub pgm: kvm_s390_pgm_info, pub emerg: kvm_s390_emerg_info, pub extcall: kvm_s390_extcall_info, pub prefix: kvm_s390_prefix_info, pub stop: kvm_s390_stop_info, pub mchk: kvm_s390_mchk_info, pub reserved: [::std::os::raw::c_char; 64usize], _bindgen_union_align: [u64; 8usize], } #[test] fn bindgen_test_layout_kvm_s390_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).io as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(io) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ext as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(ext) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pgm as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(pgm) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).emerg as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(emerg) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).extcall as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(extcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).prefix as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(prefix) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).stop as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(stop) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mchk as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(mchk) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_s390_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_s390_irq() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_s390_irq)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq), "::", stringify!(u) ) ); } impl Default for kvm_s390_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_irq_state { pub buf: __u64, pub flags: __u32, pub len: __u32, pub reserved: [__u32; 4usize], } #[test] fn bindgen_test_layout_kvm_s390_irq_state() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_s390_irq_state)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_irq_state)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).buf as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(buf) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_irq_state), "::", stringify!(reserved) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_guest_debug { pub control: __u32, pub pad: __u32, pub arch: kvm_guest_debug_arch, } #[test] fn bindgen_test_layout_kvm_guest_debug() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_guest_debug)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_guest_debug)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).control as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(control) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).arch as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_guest_debug), "::", stringify!(arch) ) ); } pub const kvm_ioeventfd_flag_nr_datamatch: _bindgen_ty_1 = 0; pub const kvm_ioeventfd_flag_nr_pio: _bindgen_ty_1 = 1; pub const kvm_ioeventfd_flag_nr_deassign: _bindgen_ty_1 = 2; pub const kvm_ioeventfd_flag_nr_virtio_ccw_notify: _bindgen_ty_1 = 3; pub const kvm_ioeventfd_flag_nr_fast_mmio: _bindgen_ty_1 = 4; pub const kvm_ioeventfd_flag_nr_max: _bindgen_ty_1 = 5; pub type _bindgen_ty_1 = u32; #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ioeventfd { pub datamatch: __u64, pub addr: __u64, pub len: __u32, pub fd: __s32, pub flags: __u32, pub pad: [__u8; 36usize], } #[test] fn bindgen_test_layout_kvm_ioeventfd() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_ioeventfd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ioeventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).datamatch as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(datamatch) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_ioeventfd), "::", stringify!(pad) ) ); } impl Default for kvm_ioeventfd { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_enable_cap { pub cap: __u32, pub flags: __u32, pub args: [__u64; 4usize], pub pad: [__u8; 64usize], } #[test] fn bindgen_test_layout_kvm_enable_cap() { assert_eq!( ::std::mem::size_of::(), 104usize, concat!("Size of: ", stringify!(kvm_enable_cap)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enable_cap)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).cap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(cap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).args as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(args) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_enable_cap), "::", stringify!(pad) ) ); } impl Default for kvm_enable_cap { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_ppc_pvinfo { pub flags: __u32, pub hcall: [__u32; 4usize], pub pad: [__u8; 108usize], } #[test] fn bindgen_test_layout_kvm_ppc_pvinfo() { assert_eq!( ::std::mem::size_of::(), 128usize, concat!("Size of: ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_pvinfo)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hcall as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(hcall) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_ppc_pvinfo), "::", stringify!(pad) ) ); } impl Default for kvm_ppc_pvinfo { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_page_size { pub page_shift: __u32, pub pte_enc: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_one_page_size() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pte_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_page_size), "::", stringify!(pte_enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_one_seg_page_size { pub page_shift: __u32, pub slb_enc: __u32, pub enc: [kvm_ppc_one_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_one_seg_page_size() { assert_eq!( ::std::mem::size_of::(), 72usize, concat!("Size of: ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_ppc_one_seg_page_size)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).page_shift as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(page_shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_enc as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(slb_enc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).enc as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_one_seg_page_size), "::", stringify!(enc) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_smmu_info { pub flags: __u64, pub slb_size: __u32, pub data_keys: __u16, pub instr_keys: __u16, pub sps: [kvm_ppc_one_seg_page_size; 8usize], } #[test] fn bindgen_test_layout_kvm_ppc_smmu_info() { assert_eq!( ::std::mem::size_of::(), 592usize, concat!("Size of: ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_smmu_info)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).slb_size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(slb_size) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data_keys as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(data_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).instr_keys as *const _ as usize }, 14usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(instr_keys) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sps as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_ppc_smmu_info), "::", stringify!(sps) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_ppc_resize_hpt { pub flags: __u64, pub shift: __u32, pub pad: __u32, } #[test] fn bindgen_test_layout_kvm_ppc_resize_hpt() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_ppc_resize_hpt)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).shift as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(shift) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_ppc_resize_hpt), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_irqchip { pub irqchip: __u32, pub pin: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_irqchip() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_irqchip)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pin as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_irqchip), "::", stringify!(pin) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub __bindgen_anon_1: kvm_irq_routing_msi__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_msi__bindgen_ty_1 { pub pad: __u32, pub devid: __u32, _bindgen_union_align: u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_msi__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 4usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_msi__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi__bindgen_ty_1), "::", stringify!(devid) ) ); } impl Default for kvm_irq_routing_msi__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_msi() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_msi), "::", stringify!(data) ) ); } impl Default for kvm_irq_routing_msi { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_s390_adapter { pub ind_addr: __u64, pub summary_addr: __u64, pub ind_offset: __u64, pub summary_offset: __u32, pub adapter_id: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_s390_adapter() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_s390_adapter)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).ind_offset as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(ind_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).summary_offset as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(summary_offset) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter_id as *const _ as usize }, 28usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_s390_adapter), "::", stringify!(adapter_id) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irq_routing_hv_sint { pub vcpu: __u32, pub sint: __u32, } #[test] fn bindgen_test_layout_kvm_irq_routing_hv_sint() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irq_routing_hv_sint)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(vcpu) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sint as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_hv_sint), "::", stringify!(sint) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_irq_routing_entry { pub gsi: __u32, pub type_: __u32, pub flags: __u32, pub pad: __u32, pub u: kvm_irq_routing_entry__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_irq_routing_entry__bindgen_ty_1 { pub irqchip: kvm_irq_routing_irqchip, pub msi: kvm_irq_routing_msi, pub adapter: kvm_irq_routing_s390_adapter, pub hv_sint: kvm_irq_routing_hv_sint, pub pad: [__u32; 8usize], _bindgen_union_align: [u64; 4usize], } #[test] fn bindgen_test_layout_kvm_irq_routing_entry__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!( "Alignment of ", stringify!(kvm_irq_routing_entry__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).irqchip as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(irqchip) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(msi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).adapter as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(adapter) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hv_sint as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(hv_sint) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry__bindgen_ty_1), "::", stringify!(pad) ) ); } impl Default for kvm_irq_routing_entry__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_irq_routing_entry() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(pad) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).u as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing_entry), "::", stringify!(u) ) ); } impl Default for kvm_irq_routing_entry { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] pub struct kvm_irq_routing { pub nr: __u32, pub flags: __u32, pub entries: __IncompleteArrayField, } #[test] fn bindgen_test_layout_kvm_irq_routing() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_irq_routing)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_irq_routing)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).nr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entries as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irq_routing), "::", stringify!(entries) ) ); } impl Default for kvm_irq_routing { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_x86_mce { pub status: __u64, pub addr: __u64, pub misc: __u64, pub mcg_status: __u64, pub bank: __u8, pub pad1: [__u8; 7usize], pub pad2: [__u64; 3usize], } #[test] fn bindgen_test_layout_kvm_x86_mce() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_x86_mce)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_x86_mce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).status as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).misc as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(misc) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mcg_status as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(mcg_status) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bank as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(bank) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad1 as *const _ as usize }, 33usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(pad1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad2 as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_x86_mce), "::", stringify!(pad2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_xen_hvm_config { pub flags: __u32, pub msr: __u32, pub blob_addr_32: __u64, pub blob_addr_64: __u64, pub blob_size_32: __u8, pub blob_size_64: __u8, pub pad2: [__u8; 30usize], } #[test] fn bindgen_test_layout_kvm_xen_hvm_config() { assert_eq!( ::std::mem::size_of::(), 56usize, concat!("Size of: ", stringify!(kvm_xen_hvm_config)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_xen_hvm_config)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).msr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(msr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_addr_32 as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_addr_32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_addr_64 as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_addr_64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_size_32 as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_size_32) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).blob_size_64 as *const _ as usize }, 25usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(blob_size_64) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad2 as *const _ as usize }, 26usize, concat!( "Offset of field: ", stringify!(kvm_xen_hvm_config), "::", stringify!(pad2) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_irqfd { pub fd: __u32, pub gsi: __u32, pub flags: __u32, pub resamplefd: __u32, pub pad: [__u8; 16usize], } #[test] fn bindgen_test_layout_kvm_irqfd() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_irqfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_irqfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).resamplefd as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(resamplefd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_irqfd), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_clock_data { pub clock: __u64, pub flags: __u32, pub pad: [__u32; 9usize], } #[test] fn bindgen_test_layout_kvm_clock_data() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_clock_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_clock_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).clock as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(clock) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_clock_data), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_config_tlb { pub params: __u64, pub array: __u64, pub mmu_type: __u32, pub array_len: __u32, } #[test] fn bindgen_test_layout_kvm_config_tlb() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_config_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_config_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).params as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(params) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).mmu_type as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(mmu_type) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).array_len as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_config_tlb), "::", stringify!(array_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_dirty_tlb { pub bitmap: __u64, pub num_dirty: __u32, } #[test] fn bindgen_test_layout_kvm_dirty_tlb() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_dirty_tlb)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_dirty_tlb)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).bitmap as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(bitmap) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).num_dirty as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_dirty_tlb), "::", stringify!(num_dirty) ) ); } #[repr(C)] #[derive(Debug, Default)] pub struct kvm_reg_list { pub n: __u64, pub reg: __IncompleteArrayField<__u64>, } #[test] fn bindgen_test_layout_kvm_reg_list() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_reg_list)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_reg_list)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).n as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(n) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reg as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_reg_list), "::", stringify!(reg) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_one_reg { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_one_reg() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_one_reg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_one_reg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_one_reg), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_msi { pub address_lo: __u32, pub address_hi: __u32, pub data: __u32, pub flags: __u32, pub devid: __u32, pub pad: [__u8; 12usize], } #[test] fn bindgen_test_layout_kvm_msi() { assert_eq!( ::std::mem::size_of::(), 32usize, concat!("Size of: ", stringify!(kvm_msi)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_msi)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_lo as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_lo) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).address_hi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(address_hi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devid as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(devid) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).pad as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_msi), "::", stringify!(pad) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_arm_device_addr { pub id: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_arm_device_addr() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_arm_device_addr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_arm_device_addr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_arm_device_addr), "::", stringify!(addr) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_create_device { pub type_: __u32, pub fd: __u32, pub flags: __u32, } #[test] fn bindgen_test_layout_kvm_create_device() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_create_device)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_create_device)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).type_ as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(type_) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_create_device), "::", stringify!(flags) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_device_attr { pub flags: __u32, pub group: __u32, pub attr: __u64, pub addr: __u64, } #[test] fn bindgen_test_layout_kvm_device_attr() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_device_attr)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_device_attr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).group as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(group) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).attr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(attr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_device_attr), "::", stringify!(addr) ) ); } pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_20: kvm_device_type = 1; pub const kvm_device_type_KVM_DEV_TYPE_FSL_MPIC_42: kvm_device_type = 2; pub const kvm_device_type_KVM_DEV_TYPE_XICS: kvm_device_type = 3; pub const kvm_device_type_KVM_DEV_TYPE_VFIO: kvm_device_type = 4; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V2: kvm_device_type = 5; pub const kvm_device_type_KVM_DEV_TYPE_FLIC: kvm_device_type = 6; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_V3: kvm_device_type = 7; pub const kvm_device_type_KVM_DEV_TYPE_ARM_VGIC_ITS: kvm_device_type = 8; pub const kvm_device_type_KVM_DEV_TYPE_MAX: kvm_device_type = 9; pub type kvm_device_type = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_vfio_spapr_tce { pub groupfd: __s32, pub tablefd: __s32, } #[test] fn bindgen_test_layout_kvm_vfio_spapr_tce() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_vfio_spapr_tce)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).groupfd as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(groupfd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).tablefd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_vfio_spapr_tce), "::", stringify!(tablefd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_s390_ucas_mapping { pub user_addr: __u64, pub vcpu_addr: __u64, pub length: __u64, } #[test] fn bindgen_test_layout_kvm_s390_ucas_mapping() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_s390_ucas_mapping)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).user_addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(user_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).vcpu_addr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(vcpu_addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).length as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_s390_ucas_mapping), "::", stringify!(length) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_enc_region { pub addr: __u64, pub size: __u64, } #[test] fn bindgen_test_layout_kvm_enc_region() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_enc_region)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_enc_region)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).addr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_enc_region), "::", stringify!(addr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).size as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_enc_region), "::", stringify!(size) ) ); } pub const sev_cmd_id_KVM_SEV_INIT: sev_cmd_id = 0; pub const sev_cmd_id_KVM_SEV_ES_INIT: sev_cmd_id = 1; pub const sev_cmd_id_KVM_SEV_LAUNCH_START: sev_cmd_id = 2; pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_DATA: sev_cmd_id = 3; pub const sev_cmd_id_KVM_SEV_LAUNCH_UPDATE_VMSA: sev_cmd_id = 4; pub const sev_cmd_id_KVM_SEV_LAUNCH_SECRET: sev_cmd_id = 5; pub const sev_cmd_id_KVM_SEV_LAUNCH_MEASURE: sev_cmd_id = 6; pub const sev_cmd_id_KVM_SEV_LAUNCH_FINISH: sev_cmd_id = 7; pub const sev_cmd_id_KVM_SEV_SEND_START: sev_cmd_id = 8; pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_DATA: sev_cmd_id = 9; pub const sev_cmd_id_KVM_SEV_SEND_UPDATE_VMSA: sev_cmd_id = 10; pub const sev_cmd_id_KVM_SEV_SEND_FINISH: sev_cmd_id = 11; pub const sev_cmd_id_KVM_SEV_RECEIVE_START: sev_cmd_id = 12; pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_DATA: sev_cmd_id = 13; pub const sev_cmd_id_KVM_SEV_RECEIVE_UPDATE_VMSA: sev_cmd_id = 14; pub const sev_cmd_id_KVM_SEV_RECEIVE_FINISH: sev_cmd_id = 15; pub const sev_cmd_id_KVM_SEV_GUEST_STATUS: sev_cmd_id = 16; pub const sev_cmd_id_KVM_SEV_DBG_DECRYPT: sev_cmd_id = 17; pub const sev_cmd_id_KVM_SEV_DBG_ENCRYPT: sev_cmd_id = 18; pub const sev_cmd_id_KVM_SEV_CERT_EXPORT: sev_cmd_id = 19; pub const sev_cmd_id_KVM_SEV_NR_MAX: sev_cmd_id = 20; pub type sev_cmd_id = u32; #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_cmd { pub id: __u32, pub data: __u64, pub error: __u32, pub sev_fd: __u32, } #[test] fn bindgen_test_layout_kvm_sev_cmd() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_sev_cmd)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_cmd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).data as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(data) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).error as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(error) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).sev_fd as *const _ as usize }, 20usize, concat!( "Offset of field: ", stringify!(kvm_sev_cmd), "::", stringify!(sev_fd) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_start { pub handle: __u32, pub policy: __u32, pub dh_uaddr: __u64, pub dh_len: __u32, pub session_uaddr: __u64, pub session_len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_start() { assert_eq!( ::std::mem::size_of::(), 40usize, concat!("Size of: ", stringify!(kvm_sev_launch_start)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_start)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(policy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dh_uaddr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(dh_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dh_len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(dh_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).session_uaddr as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(session_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).session_len as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_start), "::", stringify!(session_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_update_data { pub uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_update_data() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_sev_launch_update_data)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_update_data)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_update_data), "::", stringify!(uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_update_data), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_secret { pub hdr_uaddr: __u64, pub hdr_len: __u32, pub guest_uaddr: __u64, pub guest_len: __u32, pub trans_uaddr: __u64, pub trans_len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_secret() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_sev_launch_secret)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_secret)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdr_uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(hdr_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).hdr_len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(hdr_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_uaddr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(guest_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_len as *const _ as usize }, 24usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(guest_len) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_uaddr as *const _ as usize }, 32usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(trans_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).trans_len as *const _ as usize }, 40usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_secret), "::", stringify!(trans_len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_launch_measure { pub uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_launch_measure() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_sev_launch_measure)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_launch_measure)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_measure), "::", stringify!(uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_launch_measure), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_guest_status { pub handle: __u32, pub policy: __u32, pub state: __u32, } #[test] fn bindgen_test_layout_kvm_sev_guest_status() { assert_eq!( ::std::mem::size_of::(), 12usize, concat!("Size of: ", stringify!(kvm_sev_guest_status)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_sev_guest_status)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).handle as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(handle) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).policy as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(policy) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).state as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_guest_status), "::", stringify!(state) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_sev_dbg { pub src_uaddr: __u64, pub dst_uaddr: __u64, pub len: __u32, } #[test] fn bindgen_test_layout_kvm_sev_dbg() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_sev_dbg)) ); assert_eq!( ::std::mem::align_of::(), 8usize, concat!("Alignment of ", stringify!(kvm_sev_dbg)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).src_uaddr as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(src_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).dst_uaddr as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(dst_uaddr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).len as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_sev_dbg), "::", stringify!(len) ) ); } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_pci_dev { pub assigned_dev_id: __u32, pub busnr: __u32, pub devfn: __u32, pub flags: __u32, pub segnr: __u32, pub __bindgen_anon_1: kvm_assigned_pci_dev__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_pci_dev__bindgen_ty_1 { pub reserved: [__u32; 11usize], _bindgen_union_align: [u32; 11usize], } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 44usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!( "Alignment of ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_pci_dev__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_pci_dev() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_pci_dev)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).busnr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(busnr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).devfn as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(devfn) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).segnr as *const _ as usize }, 16usize, concat!( "Offset of field: ", stringify!(kvm_assigned_pci_dev), "::", stringify!(segnr) ) ); } impl Default for kvm_assigned_pci_dev { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub struct kvm_assigned_irq { pub assigned_dev_id: __u32, pub host_irq: __u32, pub guest_irq: __u32, pub flags: __u32, pub __bindgen_anon_1: kvm_assigned_irq__bindgen_ty_1, } #[repr(C)] #[derive(Copy, Clone)] pub union kvm_assigned_irq__bindgen_ty_1 { pub reserved: [__u32; 12usize], _bindgen_union_align: [u32; 12usize], } #[test] fn bindgen_test_layout_kvm_assigned_irq__bindgen_ty_1() { assert_eq!( ::std::mem::size_of::(), 48usize, concat!("Size of: ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq__bindgen_ty_1)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).reserved as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq__bindgen_ty_1), "::", stringify!(reserved) ) ); } impl Default for kvm_assigned_irq__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[test] fn bindgen_test_layout_kvm_assigned_irq() { assert_eq!( ::std::mem::size_of::(), 64usize, concat!("Size of: ", stringify!(kvm_assigned_irq)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_irq)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).host_irq as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(host_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).guest_irq as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(guest_irq) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_assigned_irq), "::", stringify!(flags) ) ); } impl Default for kvm_assigned_irq { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_nr { pub assigned_dev_id: __u32, pub entry_nr: __u16, pub padding: __u16, } #[test] fn bindgen_test_layout_kvm_assigned_msix_nr() { assert_eq!( ::std::mem::size_of::(), 8usize, concat!("Size of: ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_nr)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry_nr as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(entry_nr) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 6usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_nr), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_assigned_msix_entry { pub assigned_dev_id: __u32, pub gsi: __u32, pub entry: __u16, pub padding: [__u16; 3usize], } #[test] fn bindgen_test_layout_kvm_assigned_msix_entry() { assert_eq!( ::std::mem::size_of::(), 16usize, concat!("Size of: ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_assigned_msix_entry)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).assigned_dev_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(assigned_dev_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).gsi as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(gsi) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).entry as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(entry) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 10usize, concat!( "Offset of field: ", stringify!(kvm_assigned_msix_entry), "::", stringify!(padding) ) ); } #[repr(C)] #[derive(Debug, Default, Copy, Clone, PartialEq)] pub struct kvm_hyperv_eventfd { pub conn_id: __u32, pub fd: __s32, pub flags: __u32, pub padding: [__u32; 3usize], } #[test] fn bindgen_test_layout_kvm_hyperv_eventfd() { assert_eq!( ::std::mem::size_of::(), 24usize, concat!("Size of: ", stringify!(kvm_hyperv_eventfd)) ); assert_eq!( ::std::mem::align_of::(), 4usize, concat!("Alignment of ", stringify!(kvm_hyperv_eventfd)) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).conn_id as *const _ as usize }, 0usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(conn_id) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).fd as *const _ as usize }, 4usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(fd) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).flags as *const _ as usize }, 8usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(flags) ) ); assert_eq!( unsafe { &(*(::std::ptr::null::())).padding as *const _ as usize }, 12usize, concat!( "Offset of field: ", stringify!(kvm_hyperv_eventfd), "::", stringify!(padding) ) ); } kvm-bindings-0.1.1/src/x86/mod.rs010064403073240001001000000014241342005267600146640ustar0000000000000000// Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 #[cfg(feature = "kvm-v4_14_0")] mod bindings_v4_14_0; #[cfg(feature = "kvm-v4_20_0")] mod bindings_v4_20_0; // Major hack to have a default version in case no feature is specified: // If no version is specified by using the features, just use the latest one // which currently is 4.20. #[cfg(all(not(feature = "kvm-v4_14_0"), not(feature = "kvm-v4_20_0")))] mod bindings_v4_20_0; pub mod bindings { #[cfg(feature = "kvm-v4_14_0")] pub use super::bindings_v4_14_0::*; #[cfg(feature = "kvm-v4_20_0")] pub use super::bindings_v4_20_0::*; #[cfg(all(not(feature = "kvm-v4_14_0"), not(feature = "kvm-v4_20_0")))] pub use super::bindings_v4_20_0::*; } kvm-bindings-0.1.1/.cargo_vcs_info.json0000644000000001120000000000000134540ustar00{ "git": { "sha1": "59b969f98570b5c4a9d97ecd745ef07d4e7823b3" } }